[ https://issues.apache.org/jira/browse/ROCKETMQ-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15904410#comment-15904410 ]
ASF GitHub Bot commented on ROCKETMQ-67: ---------------------------------------- Github user Jaskey commented on the issue: https://github.com/apache/incubator-rocketmq/pull/67 @shroman The detail descriptions has been updated to JIRA. I will try described as detail as possible when I create an issue in JIRA in the future. > Consistent Hash allocate strategy support > ----------------------------------------- > > Key: ROCKETMQ-67 > URL: https://issues.apache.org/jira/browse/ROCKETMQ-67 > Project: Apache RocketMQ > Issue Type: New Feature > Components: rocketmq-client > Reporter: Jaskey Lam > Assignee: Jaskey Lam > Fix For: 4.1.0-incubating > > > For now, the average allocate strategy is very sensitive when clients > register and unrigister. > A Consistent Hash allocate strategy option is valueable for the developers > who care more about latency stabilization and messages duplication. > Intentions: > The default AllocateMessageQueueStrategy is averaging strategy which allocate > queue to consumer as evenly as possible. Whenever queues numbers or consumer > numbers changed, say a new consumer starts or an old consumer shutdowns, a > rehashing will be triggered then almost all consumer suffered from this that > they will rebalance to drop old queues and get new queues. > And that will cause > message latency from producer to consumer increases at the moment when > consumer/queue numbers change, even when they scale up. > messages will be duplicated significantly since the offset may not be > persisted to broker and that queue is assigned to another consumer to pull > messages from. > This is especially significant when they have tens of consumer instances and > scale-up or deployment is often. > Consistent Hash strategy to allocate queue is a good choice for these users. -- This message was sent by Atlassian JIRA (v6.3.15#6346)