I've come across some examples of AMQP broker sitting between a client and service (Thrift). Can someone explain the benefits of this approach as opposed to just having the client speak directly to the service via the one of the native thrift transports?
There are two reasons I can think of: 1) Loadbalancing. If we have multiple services as a consumer for a topic, we essentialy get loadbalancing for free. 2) No need to configure the service endpoints up front. We only need to write to the broker and not care about which machine, ip, etc can handle the request. Neither of which do I find as a compelling reason to add a broker. In use case 1 we can simply load balance via hardware or HAProxy. Use case two, if needed, be fixed with some distributed configuration management software (Zookeeper) where automatic detection is possible. Can someone please chime in with any input. Thanks
