Hi,
Im currently using Storm 0.9.x, ActiveMQ and @ptgoetz storm-jms spout.
I have multiple producers sending messages to the same queue.
My topologies run multiple Worker/Executors/Taks.
From what i understand:
1) One ActiveMQ consumer (storm-jms spout instance) takes messages from
the queue preserving the order (FIFO);
2) Multiple ActiveMQ consumers/spouts in the same queue will compete for
messages and order is lost.
3) Storm guarantees that bolts consume tuples in the order they are
emitted by the topology spout;
With storm-jms spout in a parallel scenario is there any message
ordering preservation guarantee at all?
In what order are tuple batches emitted to the stream by those multiple
storm-jms spout instances?
Even if I used a Exclusive Consumer
<http://activemq.apache.org/exclusive-consumer.html> approach, can i
assume the order of tuple processing is preserved?
Does it having multiple ActiveMQ consumers in the form of spouts
instances ultimately translates to a unpredictable tuple processing
order by the topology bolts?
If so, can I solve this problem switching ActiveMQ for other solution?
Thanks in advance.
Alberto