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
