更新时间:2024-10-14 GMT+08:00
设置队列负载均衡
方案概述
在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。
这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下:
删除队列重建
- 登录RabbitMQ WebUI页面。
- 在“Overview”页签中,单击“Download broker definitions”,导出元数据。
- 停止生产,等待数据消费完,然后删除原有队列。
- 在“Overview”页签中,上传已导出的元数据。
通过Policy修改master节点方式
- 登录RabbitMQ WebUI页面。
- 在“Admin > Policies”页面中,新增一条策略。
- Name:填写策略名称。
- Pattern:队列匹配模式,填写队列名称,会匹配前缀同名的队列。
- Apply to:选择“Queues”。
- Priority:策略优先级,数字越大,优先级越高。
- Definition:镜像定义。填写“ha-mode”和“ha-params”参数。其中“ha-mode”设置为“nodes”,“ha-params”设置为队列希望迁移到的目的节点名称。
- 单击“Add policy”。
- 队列数据同步需要很长时间,为防止消息丢失,在队列数据完成同步前,原先的master节点依然生效。
- 待队列切换完成后,可删除2中新增的策略。