centos上 搭建 rabbitmq 集群镜像

两台机器上搭建集群

172.24.111.22
172.24.111.24

这两台机器已经安装了上了,上一篇是安装单机版 rabbitmq

1.rabbitmq是通过 erlang.cookie 同步的,所以各个节点需要统一,
.erlang.cookie 是个隐藏文件 所以要用 ls -al
在这里插入图片描述
复制到另外一台机器上

  1. 修改hosts文件
    在这里插入图片描述
    前面是ip ,后面节点名称,两台机器都要修改
    在这里插入图片描述
    修改完之后可以启动了 可以ping 一下
    在这里插入图片描述
    然后在24机器上执行以下命令
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rabbitmq-node2   
rabbitmqctl start_app

打开rabbitmq web页面
在这里插入图片描述
rabbitmq 有两种集群模式 普通模式,镜像模式,上面这种就是普通模式

普通模式:默认模式,以两个节点(rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue。否则无论consumer连rabbit01或rabbit02,出口总在rabbit01,会产生瓶颈。当rabbit01节点故障后,rabbit02节点无法取到rabbit01节点中还未消费的消息实体。如果做了消息持久化,那么得等rabbit01节点恢复,然后才可被消费;如果没有持久化的话,就会产生消息丢失的现象。

镜像模式: 把需要的队列做成镜像队列,存在与多个节点属于RabbitMQ的HA方案。该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉。所以在对可靠性要求较高的场合中适用。

设置镜像模式:

在这里插入图片描述

name: 为策略名称 ,

Pattern: 为匹配符,可以用正则匹配所有.

Apply to:使用对象

Priority:配置了多个策略时候的优先级,值越大,优先级越高。(单个策略配置意义不大)

注意:没有指定优先级的消息会将优先级以0对待。 对于超过优先级队列所定最大优先级的消息,优先级以最大优先级对待

Definition: 为匹配类型,他分为3种模式:all-所有(所有的queue),exctly-部分(需配置ha-params参数,此参数为int类型比如3,众多集群中的随机3台机器),nodes-指定(需配置ha-params参数,此参数为数组类型比如[“3rabbit@F”,“rabbit@G”]这样指定为F与G这2台机器。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值