RabbitMQ集群配置

普通模式(默认):普通模式可以将消息队列中的消息读写进行分离,当向消息队列中写数据的时候。RabbitMQ集群会与这个RabbitMQ建立临时通道,消息可以通过这个临时通道将消息备份到其他的RabbitMQ中(只有读操作的时候触发)。如果向写的消息队列所在的服务器宕机后会导致临时通道无法使用,自然就无法备份消息。

镜像模式(高可用模式):当向消息队列中写入消息的时候,RabbitMQ集群会将该消息队列进行备份。即只要写入消息的时候会触发备份操作。

配置集群

配置RabbitMq集群首先需要在/etc/hosts文件中配置镜像IP地址。为了保证两台机器正常通信,需要互ping成功。

在这里插入图片描述

配置Cookie文件

Erlang Cookie是保证不同节点可以通过相互通信的密钥,要保证集群中的不同节点相互通信。必须共享系统的Erlang Cookie(即Cookie文件中的内容必须一致),具体放在:

官方介绍集群的文档介绍如下: .erlang.cookie一般会存在于两个地方,第一个是:$HOME/.erlang.cookie;第二个是:/var/lib/rabbitmq/.erlang.cookie。

如果我们使用解压缩安装方式(二进制安装或者编译安装),那么该文件存在位置为 H O M E 目 录 下 。 即 HOME目录下。即 HOMEHOME/.erlang.cookie。如果我们使用root安装,则位置为:/root/.erlang.cookie,其他用户为/home/用户名/.erlang.cookie。

修改ErlangCookie文件方法:

为了必须要保证2台Linux的Cookie文件内容一致,可以使用Vim命令来编辑。但注意的是由于该文件只有只读权限,可以修改该文件权限进行编辑后修改会只读权限,否则RabbitMQ启动会失败。

除此之外也所以使用scp命令来进行跨服务器文件传输

[root@tang ~]# scp /root/.erlang.cookie 192.168.79.135:/root/.erlang.cookie

在这里插入图片描述

在这里插入图片描述

修改完配置文件后两台机器都需要重启RabbitMQ,这样两台机器的RabbitMQ就可以通信了。

将某个RabbitMQ加入到某个服务器节点中
[root@rabbitmq02 ~]# rabbitmqctl stop_app
[root@rabbitmq02 ~]# rabbitmqctl join_cluster rabbit@rabbitmq01
[root@rabbitmq02 ~]# rabbitmqctl start_app

注意:

1、配置/etc/hosts文件中的主机名和使用hostname命令显示出来的主机名一致。

2、要保证接入的目标节点必须开启RabbitMQ(即rabbitmqctl join_cluster rabbit@rabbitmq01命令中的rabbitmq01)。

3、接入的节点中必须先开启RabbitMQ然后使用rabbitmqctl stop_app停止RabbitMQ的应用然后通过命令接入目标节点后开启应用

使用命令查看RabbitMQ集群
[root@rabbitmq02 ~]# rabbitmqctl cluster_status
结果:

在这里插入图片描述

从命令的结果可以看出来,RabbitMQ集群中只有主机名为rabbitmq01和主机名为rabbitmq02的机器。

注意:当配置RabbitMQ集群成功后,先前添加和授予的用户名和密码权限都会被删除掉。恢复到原来只有gust用户名的状态。

此时添加用户会自动同步到其他的RabbitMQ

镜像模式配置

由于上面配置会导致rabbitmq02宕机的时候,消息的消费者会接受不到消息。所以需要配置镜像模式。配置如下:

在这里插入图片描述

这里使用的是正则表达式进行匹配,当rabbitmq02宕机的时候,会自动切换到rabbitmq01来进行收发消息。如图

在这里插入图片描述

当有一个镜像节点的时候就会+1,当有两个镜像节点的时候就会+2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值