要将 RabbitMQ 的配置(包括vhost、exchange等)从一个实例迁移到另一个实例,您可以遵循以下步骤:
RabbitMQ 提供了一些工具来导出和导入配置。您可以使用 rabbitmq-dump-queues
脚本来导出所有配置和消息。
# 安装 rabbitmq-dump-queues
pip install rabbitmq-dump-queues
# 导出配置和消息
rabbitmq-dump-queues -u <username> -p <password> -H <source_host> -P <source_port> -v
要将导出的配置导入到新的实例,您可以使用 rabbitmq-load-queues
脚本。
# 安装 rabbitmq-load-queues
pip install rabbitmq-load-queues
# 导入配置和消息
rabbitmq-load-queues -u <username> -p <password> -H <destination_host> -P <destination_port> -f <dump_file>
如果您只需要导出和导入RabbitMQ的定义(如vhost、exchange、queue等),可以使用RabbitMQ的 HTTP API。
curl -u <username>:<password> http://<source_host>:<source_port>/api/definitions > rabbit_definitions.json
curl -u <username>:<password> -H "Content-Type: application/json" -X POST -d @rabbit_definitions.json http://<destination_host>:<destination_port>/api/definitions