Guocheng Zhang created TUBEMQ-590:
-------------------------------------

             Summary: Optimize the implementation of DefaultLoadBalancer class
                 Key: TUBEMQ-590
                 URL: https://issues.apache.org/jira/browse/TUBEMQ-590
             Project: Apache TubeMQ
          Issue Type: Improvement
          Components: Master
            Reporter: Guocheng Zhang


 

TubeMQ uses the server-side rebalance mode to allocate tasks. At present, the 
task allocation mode is relatively single, and the implementation of this part 
is relatively hard-coded, and the readability and maintainability are not good 
enough.

Existing solutions take all the partitions of the topic set subscribed by the 
consumer group according to the number of consumers in the consumer group, and 
then extract the partitions at consumer number interval, and allocate the 
partitions to the corresponding client; if the client or partition has 
increasing or decreasing, the client with more partitions subscriptions will 
release the partitions through partial balance, and will be allocated the 
released partitions to consumers with less or no subscription partitions for 
balanced consumption.

If you are interested, you can try to abstract this piece. At the same time, 
you can also propose your rebalance plan, which is compatible on the basis of 
existing rebalance.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to