目录
1.单机部署
1.1.下载镜像
1.2.安装MQ
2.安装DelayExchange插件
2.1.下载插件
2.2.上传插件
2.3.安装插件
3.集群部署
2.1.集群分类
2.3.准备集群配置
2.4.启动集群
2.5.测试
2.5.1.数据共享测试
2.5.2.可用性测试
4.镜像模式
4.1.镜像模式的特征
4.2.镜像模式的配置
4.2.1.exactly模式
4.2.2.all模式
4.2.3.nodes模式
4.3.测试
4.3.1.测试数据共享
4.3.2.测试高可用
5.仲裁队列
5.1.添加仲裁队列
5.2.测试
5.3.集群扩容
5.3.1.加入集群
5.3.2.增加仲裁队列副本
我们在Centos7虚拟机中使用Docker来安装。
方式一:在线拉取
docker pull rabbitmq:3.8-management
方式二:从本地加载
在课前资料已经提供了镜像包:
上传到虚拟机中后,使用命令加载镜像即可:
docker load -i mq.tar
执行下面的命令来运行MQ容器:
官方的安装指南地址为:https://blog.rabbitmq.com/posts/2015/04/scheduling-messages-with-rabbitmq
上述文档是基于linux原生安装RabbitMQ,然后安装插件。
因为我们之前是基于Docker安装RabbitMQ,所以下面我们会讲解基于Docker来安装RabbitMQ插件。
RabbitMQ有一个官方的插件社区,地址为:https://www.rabbitmq.com/community-plugins.html
其中包含各种各样的插件,包括我们要使用的DelayExchange插件:
大家可以去对应的GitHub页面下载3.8.9版本的插件,地址为Release v3.8.9 · rabbitmq/rabbitmq-delayed-message-exchange · GitHub这个对应RabbitMQ的3.8.5以上版本。
课前资料也提供了下载好的插件:
因为我们是基于Docker安装,所以需要先查看RabbitMQ的插件目录对应的数据卷。如果不是基于Docker的同学,请参考第一章部分,重新创建Docker容器。
我们之前设定的RabbitMQ的数据卷名称为,所以我们使用下面命令查看数据卷:
docker volume inspect mq-plugins
可以得到下面结果:
接下来,将插件上传到这个目录即可:
最后就是安装了,需要进入MQ容器内部来执行安装。我的容器名为,所以执行下面命令:
执行时,请将其中的 后面的替换为你自己的容器名.
进入容器内部后,执行下面命令开启插件:
结果如下:
接下来,我们看看如何安装RabbitMQ的集群。
在RabbitMQ的官方文档中,讲述了两种集群的配置方式:
- 普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同步)。例如我们有2个MQ:mq1,和mq2,如果你的消息在mq1,而你连接到了mq2,那么mq2会去mq1拉取消息,然后返回给你。如果mq1宕机,消息就会丢失。
- 镜像模式:与普通模式不同,队列会在各个mq的镜像节点之间同步,因此你连接到任何一个镜像节点,均可获取到消息。而且如果一个节点宕机,并不会导致数据丢失。不过,这种方式增加了数据同步的带宽消耗。
我们先来看普通模式集群,我们的计划部署3节点的mq集群:
集群中的节点标示默认都是:,因此以上三个节点的名称分别为:
- rabbit@mq1
- rabbit@mq2
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/69701.html