(九)消息队列——RabbitMQ的集群

消息队列——RabbitMQ的集群:

一、集群分类

1、普通集群

是一种分布式集群,将队列分散到集群的各个节点,请求进来会被分发到不同的节点上去,从而提高整个集群的并发能力。

但是这种集群有一个缺点就是如果一个节点宕机,它对应的队列和消息就会丢失。

2、镜像集群

是一种主从集群,普通集群的基础上,添加了主从备份功能,提高集群的数据可用性。

镜像集群虽然支持主从,但主从同步并不是强一致的,某些情况下可能有数据丢失的风险。因此在RabbitMQ的3.8版本以后,推出了新的功能:仲裁队列来代替镜像集群,底层采用Raft协议确保主从的数据一致性。

3、仲裁队列

二、普通集群

1、特征:

  1. 会在集群的各个节点间共享部分数据,包括:交换机、队列元信息。不包含队列中的消息。
  2. 当访问集群某节点时,如果队列不在该节点,会从数据所在节点传递到当前节点并返回
  3. 队列所在节点宕机,队列中的消息就会丢失

在这里插入图片描述

三、镜像集群

1、特征:

  1. 本质是主从模式
  2. 交换机、队列、队列中的消息会在各个mq的镜像节点之间同步备份。
  3. 创建队列的节点被称为该队列的主节点,备份到的其它节点叫做该队列的镜像节点。
  4. 一个队列的主节点可能是另一个队列的镜像节点。
  5. 所有操作都是主节点完成,然后同步给镜像节点。
  6. 主宕机后,镜像节点会替代成新的主。

四、仲裁队列

1、特征:

  1. 与镜像队列一样,都是主从模式,支持主从数据同步
  2. 使用非常简单,没有复杂的配置
  3. 主从同步基于Raft协议,强一致

2、创建仲裁队列:

搭建集群后,使用如下的代码:
v
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在OpenStack中,RabbitMQ消息代理的核心组件,负责处理各种消息,包括API请求、队列通信和通知。为了保证高可用性和可扩展性,我们可以将RabbitMQ部署为集群。 以下是在OpenStack中部署RabbitMQ集群的步骤: 1. 安装RabbitMQ软件包 在每个节点上安装RabbitMQ软件包。可以使用以下命令进行安装: ``` sudo apt-get install rabbitmq-server ``` 2. 配置RabbitMQ 在每个节点上,编辑RabbitMQ配置文件/etc/rabbitmq/rabbitmq-env.conf,指定以下环境变量: ``` NODE_IP_ADDRESS=<本地IP> NODE_PORT=5672 CLUSTER_WITH=<其他节点IP> ``` 其中,NODE_IP_ADDRESS是本地IP地址,CLUSTER_WITH是其他节点的IP地址。这些变量将用于RabbitMQ节点间通信。 3. 启用RabbitMQ插件 在每个节点上启用RabbitMQ集群插件。可以使用以下命令启用插件: ``` sudo rabbitmq-plugins enable rabbitmq_management rabbitmq_peer_discovery_aws ``` 4. 启动RabbitMQ节点 在每个节点上启动RabbitMQ节点。可以使用以下命令启动节点: ``` sudo rabbitmq-server -detached ``` 5. 将节点加入集群 在任何一个节点上,执行以下命令将节点加入集群: ``` sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@<其他节点名称> sudo rabbitmqctl start_app ``` 其中,<其他节点名称>是集群中的其他节点的名称。 6. 验证集群状态 在任何一个节点上,执行以下命令验证集群状态: ``` sudo rabbitmqctl cluster_status ``` 如果输出包含所有节点的信息,则集群已成功部署。 注意:在部署RabbitMQ集群时,需要确保集群节点之间的网络连接正常,并且防火墙已正确配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值