yukon created COMDEV-252:
----------------------------

             Summary: [RocketMQ] Support Global Ordered Messaging
                 Key: COMDEV-252
                 URL: https://issues.apache.org/jira/browse/COMDEV-252
             Project: Community Development
          Issue Type: Improvement
          Components: GSoC/Mentoring ideas
            Reporter: yukon


A single memory queue is easy to support FIFO(first in, first out) semantic, 
inspired by that, many messaging systems support ordered messaging in a storage 
queue/partition.

Ordered Messaging is designed to enhance messaging between applications when 
the order of operations and events is critical, for example:
 * The chat messages should be displayed orderly in the same chat channel.
 * Execute the concurrent modifications in the right order, like product price.
 * The operations of the same user should be executed orderly in the 
electricity system.

As described earlier, it's easy to support ordered messaging in a single 
queue/partition, the producer can send a kind of messages to the fixed 
partition with a sharding key. But this solution doesn't have a good 
scalability and has hot-pot issue obviously.

 

To resolve this issue, we need a global ordered messaging mechanism to have a 
good scalability without hot-pot issue.

A practical proposal is that sending messages to distributed queue/partition 
with an ordered key. Messages are ordered in the same queue, then implement an 
OrderConsumer to pull messages from these queues then perform merge sort, 
finally deliver these ordered messages to users.

 

 

dd



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@community.apache.org
For additional commands, e-mail: dev-h...@community.apache.org

Reply via email to