You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@community.apache.org by "yukon (JIRA)" <ji...@apache.org> on 2018/01/22 17:32:00 UTC

[jira] [Created] (COMDEV-252) [RocketMQ] Support Global Ordered Messaging

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-unsubscribe@community.apache.org
For additional commands, e-mail: dev-help@community.apache.org