添加对多个 RabbitMQ 集群的支持

日期:

2016-07-11 21:00

标签:

rabbitmq, 消息传递, 通知, 可扩展性

大型部署可能希望配置多个 RabbitMQ 集群,以便每个集群都部署在其自己的主机集上。

此功能将允许部署者配置一个或多个额外的组件和容器骨架,以添加用于部署附加集群的库存组。

问题描述

当前 playbook 和角色假定单个库存组:rabbitmq_all,该组部署在 shared-infra_hosts 基础设施上。库存组名称在整个过程中都是硬编码的,并且 playbook 假设只需要一个集群。

提议的变更

  • 修改 rabbitmq_server 角色,使其在它所操作的库存组方面更具可配置性

  • 修改 rabbitmq-install play,使其在它所操作的库存组方面更具可配置性

备选方案

我不清楚项目解决此需求的替代方法。

Playbook/Role 影响

初步影响将体现在 rabbitmq_server 角色和 rabbitmq-install play 上。但是,我预计其他角色也可能存在其他影响,因此它们需要更改以使其在它们期望用于 rabbit 主机的库存组或它们用来识别应该连接的 rabbit 主机的变量方面更具可配置性。

升级影响

不清楚升级会受到什么影响。据我所知,自定义库存扩展当前未在升级自动化中处理。

安全影响

没有独特的安全影响。现有的 RabbitMQ 安全态势将得到维护,尽管可能需要额外的密钥。

性能影响

没有预期/预计的影响。

最终用户影响

最终用户在定义其部署架构方面将具有更大的灵活性。

部署者影响

目标是由于所讨论更改的自选性质,对部署者的影响可以忽略不计。

开发人员影响

此更改将为开发人员增加一些额外的复杂性,但应该很小。

依赖项

实现

负责人

主要负责人

travis-truman (自动生成)

工作项

  • rabbitmq_server 角色修改,用于库存组可配置性

  • rabbitmq-install play 修改,用于库存组可配置性

  • 文档,解释如何创建额外的 RabbitMQ 集群组

  • 其他角色修改,以支持集群连接可配置性

测试

在修改后的测试库存中,可以在 rabbitmq_server 角色功能测试中进行测试。

文档影响

应添加一个附录,向部署者解释如何配置其环境以支持 RabbitMQ 多个集群。

参考资料