Java---微服务---RabbitMQ部署
Posted 東三城
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java---微服务---RabbitMQ部署相关的知识,希望对你有一定的参考价值。
RabbitMQ部署
1.单机部署
我们在Centos7虚拟机中使用Docker来安装,如未安装dockr,请参考《Centos7安装Docker》
1.1.下载镜像
方式一:在线拉取
docker pull rabbitmq:3-management
方式二:从本地加载
把镜像包上传到虚拟机中后,使用命令加载镜像即可:
docker load -i mq.tar
1.2.安装MQ
执行下面的命令来运行MQ容器:
docker run \\
-e RABBITMQ_DEFAULT_USER=root \\
-e RABBITMQ_DEFAULT_PASS=1234 \\
--name mq \\
--hostname mq1 \\
-p 15672:15672 \\
-p 5672:5672 \\
-d \\
rabbitmq:3-management
- -e:设置环境变量
- -RABBITMQ_DEFAULT_USER:用户名
- -RABBITMQ_DEFAULT_PASS:密码
- –name:名字
- –hostname:主机名(集群部署需要)
- 15672:rabbitmq管理端
- 5672:消息通信
- -d:后台运行
- rabbitmq:3-management:镜像名称
1.3访问管理端
输入对应IP和端口,访问管理端,记得开放对应端口或者关闭防火墙
2.集群部署
2.1.集群分类
在RabbitMQ的官方文档中,讲述了两种集群的配置方式:
- 普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同步)。例如我们有2个MQ:mq1,和mq2,如果你的消息在mq1,而你连接到了mq2,那么mq2会去mq1拉取消息,然后返回给你。如果mq1宕机,消息就会丢失。
- 镜像模式:与普通模式不同,队列会在各个mq的镜像节点之间同步,因此你连接到任何一个镜像节点,均可获取到消息。而且如果一个节点宕机,并不会导致数据丢失。不过,这种方式增加了数据同步的带宽消耗。
我们先来看普通模式集群。
2.2.设置网络
首先,我们需要让3台MQ互相知道对方的存在。
分别在3台机器中,设置 /etc/hosts文件,添加如下内容:
192.168.150.101 mq1
192.168.150.102 mq2
192.168.150.103 mq3
并在每台机器上测试,是否可以ping通对方。
如有不足,请多指教,
未完待续,持续更新!
大家一起进步!
以上是关于Java---微服务---RabbitMQ部署的主要内容,如果未能解决你的问题,请参考以下文章
[云原生专题-53]:Kubesphere云治理-操作-通过Kubesphere应用商店一键部署微服务应用-消息中间件RabbitMQ的安装与部署
用 Python RabbitMQ 和 Nameko 实现微服务