Hello,

I'm trying to work on the issue ROCKETMQ-122
<https://issues.apache.org/jira/browse/ROCKETMQ-122?filter=12343065> as a
part of Google Summer of Code 2018. I've been spending some time to
understand the system, architecture and the existing Messaging Patterns.
I still have a few questions and would like to clarify my assumptions.

   - Is the current FIFO order example limited to one message queue per
   producer? Can the producer send the same message to multiple queues? Will
   the consumers of the queues be able to read messages in Order?
   - Can I assume that each producer will send messages to one queue?
   - Global Order is to be identified across all GlobalOrderedProducer (a
   new producer that is to be used for global order) instances that are
   running.
   - I think using a global clock can help establish the order between 2 or
   more producers, however using some form of vector clock might also help
   identify the global order of messages between the producers.
   - A GlobalOrderedConsumer ( consumer that knows how to read globally
   ordered messages) can then compare messages across all message queues from
   the corresponding producers and extract the messages. [ this is the
   approach recommended by yukon on the issue page ]
   - We can also potentially have another layer in the Message Queue which
   accumulates all messages sent from producers and provides one ordered
   message queue for consumers to read from.

Thank you for your patience and please let me know if my understanding of
the problem and the assumptions are right.

Best Regards,
Sowmya

Reply via email to