使用集群的好处
- 扩展规模
- 一般的基础架构中,单机扩容(Scale-Up)很难实现
- 需要扩容时尽量使用扩展数量实现(Scale-Out)
- RabbitMQ集群可以方便地通过Scale-Out 扩展规模
- 数据冗余
- 对应节点RabbitMQ,如果节点宕机,内存数据丢失
- 对于单节点RabbitMQ,如果节点损坏,磁盘数据丢失
- RabbitMQ集群通过镜像队列,将数据冗余到多个节点
- 高可用
- 如果单节点RabbitMQ宕机,服务不可用
- RabbitMQ集群可以通过负载均衡,将请求转移至可用节点
RabbitMQ集群原理
集群搭建
镜像队列
- 多个RabbitMQ单节点,经过配置组成RabbitMQ集群
- 集群节点之间共享元数据,且共享特定队列(镜像队列)数据
- RabbitMQ节点数据互相转发,客户端通过单一节点可以访问所有数据