跳转到主要内容

PostgreSQL SQL格式化工具

项目描述

CLI应用程序,用于在RabbitMQ集群中重新平衡队列

Package Version Build Status Code Coverage BSD

安装

pip install rmq-cluster-rebalance

为什么?

当您在RabbitMQ中指定队列主位置为min-masters时,RabbitMQ将尝试平衡集群中队列主位置的分布。然而,当您在一个具有HA队列的集群中重新启动RabbitMQ节点时,该节点上的队列主位置将移动到另一个节点。鉴于足够此类事件以及您的高可用性策略,您可能会得到一个队列主位置分布不均的情况,其中少数节点上有主位置。在这种情况下,集群中的节点可能无法均匀利用,节点上的CPU、内存、磁盘和网络利用率可能会更高。

在节点间重新平衡队列还可以在将节点添加到没有设置queue_master_locator配置(使用默认值client-local)的集群时有用,无论您是否使用HA队列。

方法

应用程序使用RabbitMQ管理UI遍历集群中的每个队列。检查队列后,创建一个名为 rmq-cluster-rebalance 的策略,使用队列现有策略配置,并添加或替换 ha-mode,将其设置为 all,并删除已设置的 ha-paramsqueue-master-locator。一旦队列在集群中所有节点上完全复制,将用一个新的策略替换 rmq-cluster-rebalance 策略,该策略将 ha-mode 设置为 nodes,并在 ha-params 中仅指定新的主节点。当队列完全移动后,将删除该策略,应用程序将移动到下一个队列。

节点按照简单的轮询顺序分配。如果队列已经在要分配给它的节点上运行,则将其跳过,并且不会在该队列上执行任何操作。

警告

此方法在生产环境中使用应该是安全的,不会中断发布者或消费者。虽然对我来说没有问题,但您的使用效果可能会有所不同。

此应用程序需要相对较新的RabbitMQ版本,并且仅使用 3.7.16 进行了测试。

CLI使用方法

usage: rmq-cluster-rebalance [-h] [-u USERNAME] [-p PASSWORD] [--vhost VHOST]
                             [-L LOG_FILE] [-v] [--debug] [--version]
                             [URL]

Rebalances the queues in a RabbitMQ cluster

positional arguments:
  URL                   The RabbitMQ Management API base URL (default:
                        http://localhost:15672)

optional arguments:
  -h, --help            show this help message and exit
  -u USERNAME, --username USERNAME
                        The RabbitMQ Management API username (default: guest)
  -p PASSWORD, --password PASSWORD
                        The RabbitMQ Management API password (default: guest)
  --vhost VHOST         The RabbitMQ VHost to use (default: /)
  --version             output version information, then exit

Logging options:
  -L LOG_FILE, --log-file LOG_FILE
                        Log to the specified filename (default: STDOUT)
  -v, --verbose         Increase output verbosity (default: False)
  --debug               Extra verbose debug logging (default: False)

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

rmq-cluster-rebalance-1.0.0.tar.gz (7.6 kB 查看哈希)

上传时间

由以下机构支持