Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need a messaging service to be a broker between my clients and my servers, which fulfill this requirements:

  1. work with clients synchronously
  2. send their requests to, and get their answers from servers asynchronously (just like sending the request as a message and giving the answer as another message.)
  3. So it should memorize the request IDs to know send the answers to which client.
  4. load-balancing between servers, while sending requests to them,

Is there any SW/HW for that? I prefer open source software.

share|improve this question

closed as not constructive by John Gardeniers, dunxd, Khaled, Bryan, Dave M Feb 7 '13 at 14:29

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

You could use RabbitMQ with a Topic Exchange where the routing is done based on the consumer tag, or other message variable.

You don't want the "queue to memorize the request id", that's all part of the logic of your application's consumer / publisher.

The broker is just that, a broker, and the queue should just be a queue. The really clever stuff happens in your usage of the queue.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.