如果对RocketMQ或者对消息中间件有所了解的话,消费端在进行消息消费时至少需要先进行队列的负载,即一个消费组内的多个消费者如何对订阅的主题中的队列进行负载均衡,当消费者新增或减少、队列增加或减少时能否自动重平衡,做到应用无感知,直接决定了程序伸缩性,其说明图如下:
同样还是以 create17 这个 topic 为例,当前,该 topic 详情如下图所示:Leader 都集中在了 broker 201 上,如果要使 leader replica 负载均衡的话,可以这样做:创建 preferred-replica-election.json 文件,编辑如下内容,指定了要更改 leader replica 的分区号:然后执行命令:执行结果:create17 详细信息为:如上图所示,leader 已经做到了负载均衡了。
答案很简单,topic多分几个分片,然后使用消费者组去消费topic即可。答案也不难,topic分片之后,生产者定制分发策略,保证同一对象的操作请求都分发到同一个分片中,这样每个消费者就都是在按照顺序消费各自分片中的数据啦~
往期系列文章:快速掌握Kafka系列《一》基本概念入门目录1、添加主题2、修改主题2.1、添加分区2.2、添加配置2.3、删除配置3、删除主题4、优雅关机5、领导者平衡6、跨机架平衡副本7、集群和异地之间复制镜像数据8、检查消费者位置9、管理消费者组9.