Linux 环境部署RabbitMQ

1.单机部署

我们在Centos7虚拟机中使用Docker来安装。

1.1.下载镜像

方式一:在线拉取

复制代码
docker pull rabbitmq:3-management

方式二:从本地加载(本文章带有mq安装包)

复制代码
docker load -i mq.tar

1.2.安装MQ

执行下面的命令来运行MQ容器:

复制代码
docker run \
 -e RABBITMQ_DEFAULT_USER=itcast \
 -e RABBITMQ_DEFAULT_PASS=123321 \
 --name mq \
 --hostname mq1 \
 -p 15672:15672 \
 -p 5672:5672 \
 -d \
 rabbitmq:3-management

2.集群部署

接下来,我们看看如何安装RabbitMQ的集群。

2.1.集群分类

在RabbitMQ的官方文档中,讲述了两种集群的配置方式:

  • 普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同步)。例如我们有2个MQ:mq1,和mq2,如果你的消息在mq1,而你连接到了mq2,那么mq2会去mq1拉取消息,然后返回给你。如果mq1宕机,消息就会丢失。

  • 镜像模式:与普通模式不同,队列会在各个mq的镜像节点之间同步,因此你连接到任何一个镜像节点,均可获取到消息。而且如果一个节点宕机,并不会导致数据丢失。不过,这种方式增加了数据同步的带宽消耗。

我们先来看普通模式集群。

2.2.设置网络

首先,我们需要让3台MQ互相知道对方的存在。

分别在3台机器中,设置 /etc/hosts文件,添加如下内容:

复制代码
43.143.228.17 mq1
43.143.228.17 mq2
43.143.228.17 mq3

并在每台机器上测试,是否可以ping通对方:

相关推荐
久念祈2 小时前
C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(四)
分布式·rabbitmq
ldj20207 小时前
Docker的docker-compose类比Spring的ApplicationContext
spring·docker
ldj20207 小时前
docker 自定义网桥作用
docker·容器
java叶新东老师7 小时前
k8s常用命令
云原生·容器·kubernetes
土豆丶杨9 小时前
centos 配置docker
docker·eureka·centos
杰哥的狗9 小时前
nacos连接失败,启动失败常见问题
linux·docker
DarkAthena10 小时前
【GaussDB】构建一个GaussDB的Docker镜像
数据库·docker·gaussdb
愿你天黑有灯下雨有伞11 小时前
Spring Boot集成RabbitMQ终极指南:从配置到高级消息处理
spring boot·rabbitmq·java-rabbitmq
在未来等你11 小时前
RabbitMQ面试精讲 Day 5:Virtual Host与权限控制
中间件·面试·消息队列·rabbitmq
张火火isgudi14 小时前
CentOS8 使用 Docker 搭建 Jellyfin 家庭影音服务器
服务器·docker·容器