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: [email protected]
For additional commands, e-mail: [email protected]