6 个回答
![国民小哥哥 国民小哥哥](https://www.80wz.com/zb_users/avatar/0.png)
Sticky,这个从字面看来意思就是粘性策略,大概是这个意思。主要考虑的是在分配均衡的前提下,让分区的分配更小的改动。
比如之前P0\P1分配给消费者A,那么下一次尽量还是分配给A。
这样的好处就是连接可以复用,要消费消息总是要和broker去连接的,如果能够保持上一次分配的分区的话,那么就不用频繁的销毁创建连接了。
比如之前P0\P1分配给消费者A,那么下一次尽量还是分配给A。
这样的好处就是连接可以复用,要消费消息总是要和broker去连接的,如果能够保持上一次分配的分区的话,那么就不用频繁的销毁创建连接了。
发布于:7个月前 (01-03) IP属地:未知
![温柔刀下鬼 温柔刀下鬼](https://www.80wz.com/zb_users/avatar/0.png)
RoundRobin,也就是我们常说的轮询了,这个就比较简单了,不画图你也能很容易理解。
这个会根据所有的主题进行轮询分配,不会出现Range那种主题越多可能导致分区分配不均衡的问题。
P0-˃A,P1-˃B,P1-˃A。。。以此类推
![](https://pic.80wz.com/upload/2024/01/202401039419_6273.jpg)
这个会根据所有的主题进行轮询分配,不会出现Range那种主题越多可能导致分区分配不均衡的问题。
P0-˃A,P1-˃B,P1-˃A。。。以此类推
![](https://pic.80wz.com/upload/2024/01/202401039419_6273.jpg)
发布于:7个月前 (01-03) IP属地:未知
![孤居 孤居](https://www.80wz.com/zb_users/avatar/0.png)
Range,这个是默认的策略。大概意思就是对分区进行排序,排序越靠前的分区能够分配到更多的分区。
比如有3个分区,消费者A排序更靠前,所以能够分配到P0\P1两个分区,消费者B就只能分配到一个P2。
如果是4个分区的话,那么他们会刚好都是分配到2个。
![](https://pic.80wz.com/upload/2024/01/202401031635_2395.jpg)
但是这个分配策略会有点小问题,他是根据主题进行分配,所以如果消费者组订阅了多个主题,那就有可能导致分区分配不均衡。
比如下图中两个主题的P0\P1都被分配给了A,这样A有4个分区,而B只有2个,如果这样的主题数量越多,那么不均衡就越严重。
![](https://pic.80wz.com/upload/2024/01/202401036321_5852.jpg)
比如有3个分区,消费者A排序更靠前,所以能够分配到P0\P1两个分区,消费者B就只能分配到一个P2。
如果是4个分区的话,那么他们会刚好都是分配到2个。
![](https://pic.80wz.com/upload/2024/01/202401031635_2395.jpg)
但是这个分配策略会有点小问题,他是根据主题进行分配,所以如果消费者组订阅了多个主题,那就有可能导致分区分配不均衡。
比如下图中两个主题的P0\P1都被分配给了A,这样A有4个分区,而B只有2个,如果这样的主题数量越多,那么不均衡就越严重。
![](https://pic.80wz.com/upload/2024/01/202401036321_5852.jpg)
发布于:7个月前 (01-03) IP属地:四川省
我来回答
您需要 登录 后回答此问题!