RabbitMQ高可用架构
-
理论简介
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ、RabbitMQ、Kafka、RocketMQ等。
RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。
Rabbitmq的集群是依附于erlang集群来工作的,所以必须先构建起一个erlang集群。erlang集群中各节点是由magic cookie来实现的,每个节点上要保持相同的.erlang.cookie文件,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。必须保证各节点cookie一致,不然节点之间就无法通信。
-
准备
(1) 节点规划
IP 主机名 规格 角色 192.168.159.10 rabbitmq1 c1/r2/d20 RabbitMQ磁盘节点 192.168.159.11 rabbitmq2 c1/r2/d20 RabbitMQ内存节点 192.168.159.12 rabbitmq3 c1/r2/d20 RabbitMQ内存节点 (2) 所需资源
资源名 说明 CentOS-7-x86_64-DVD-1804.iso Centos7.5 DVD镜像 rabbitmq-repo.tar.gz 含RabbitMQ安装包 -
实施步骤
(1)基础环境安装
- 修改主机名
- 配置hosts静态路由文件
- 关闭防火墙和SELinux
- 配置YUM源(节点1安装vsftp,并为其他两个节点提供YUM源)
(2)安装配置RabbitMQ
-
安装RabbitMQ
3个节点均需安装RabbitMQ
[root@all ~]# yum install -y rabbitmq-server
-
rabbitmq1节点配置管理界面文章来源:https://www.toymoban.com/news/detail-829157.html
启动RabbitMQ服务文章来源地址https://www.toymoban.com/news/detail-829157.html
[root@rabbitmq1 ~]# systemctl start rabbitmq-server && systemctl enable rabbitmq-server
到了这里,关于RabbitMQ高可用集群搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!