天天看點

RocketMQ的Consumer是如何做的負載均衡?

RocketMQ的Consumer是如何做的負載均衡?比如:5個Consumer程序同時消費一個Topic,這個Topic隻有4個queue會出現啥情況?反之Consumer數量小于queue的資料是啥情況?

RocketMQ的Consumer是如何做的負載均衡?

1 queue個數大于Consumer個數,且queue個數能整除Consumer個數的話, 那麼Consumer會平均配置設定queue。(比如上面表格的Consumer有2個 可以整除部分)

2 queue個數大于Consumer個數,且queue個數不能整除Consumer個數的話, 那麼會有一個Consumer多消費1個queue,其餘Consumer平均配置設定。(比如上面表格的Consumer有3個 不可整除部分)

3 queue個數小于Consumer個數,那麼會有Consumer閑置,就是浪費掉了,其餘Consumer平均配置設定到queue上。(比如上面表格的Consumer有5個 無法都配置設定部分)

RocketMQ的Consumer是如何做的負載均衡?