[rabbitmq-discuss] RabbitMQ, STOMP, Python and Orbited - design question.
majek04 at gmail.com
Fri Aug 27 12:20:53 BST 2010
On Tue, Aug 24, 2010 at 14:15, Tim Child <tim at cantemo.com> wrote:
> Now moving over to using RabbitMQ, and the stomp plugin, I understand that my setup will change slightly.
> I currently have a VHOST / , and I publish to an exchange, my understanding is that I have to send to a particular exchange "amq.topic" to be able to broadcast to more than one consumer that may or may not be listening. I don't care if my message doesn't ever get received as someone will not always be on the system.
> And then my STOMP consumer will listen to VHOST / and amq.topic ? But if I want to replicate my jobs channels, should I create a routing key, binding and different queues for each job? Records of jobs can stay on my system forever, but the period that they get updated is sporadic - much in the first minutes of their life, hardly ever after they have been finished.
I don't thin I understand what you mean by 'replicating jobs channels'.
Instead, let me focus on our STOMP plugin semantics.
First, the basic flow of AMQP messages goes like that:
You need to decide where to do dispatching of messages from multiple producers,
do you have a queue per customer or maybe many queues for every customer?
Does a 'customer' mean a browser session and or is it just a single page view?
Next problem is that the mapping of AMQP to STOMP is not straightforward,
it requires pretty good understanding of AMQP routing.
The best examples of STOMP and rabbitmq-stomp semantics that I'm aware of
are in the test file:
For example the "test_broadcast" may be useful to you. The next example
"test_roundrobin" shows how to declare a named queue. Take look
at the subtle difference in 'destination:' headers between this and a
More information about the rabbitmq-discuss