小知识:docker安装RabbitMQ及安装延迟插件的详细过程

我这个安装攻略首先得保证服务器安装docker了 如果没安装docker请先去安装docker

1.首先说一下什么是MQ

MQ(message queue)字面意思上来说消息队列,FIFO先入先出,队列中存入的内容message,是一种跨进程的通信机制,用于上下游传递消息。MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务

1.1为什么要用MQ/MQ有什么用

1.1.1流量消峰

比如说订单系统最多一次可以处理一万次订单,这个处理能力在正常时段下单时绰绰有余,但是在高峰期时如果有两万次下单操作系统是处理不了的只能限制订单超过一万次后不允许用户下单,但是如果使用消息队列做缓冲,我们可以取消这个限制,把一米内的订单分散成一段时间来处理,这个时候有些用户可能在下单十几秒后才能收到下单成功消息 但是这样总比不能让用户下单体验好

1.1.2应用解耦

电商应用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障,都会造成下单操作异常。当转变成基于消息队列的方式后,系统间调用的问题会减少很多,比如物流系统因为发生故障,需要几分钟来修复。在这几分钟的时间里,物流系统要处理的内存缓存在消息队列中,用户的下单操作可以正常完成。当物流系统恢复后,继续处理订单信息即可,中单用户感受不到物流系统的故障,提升系统的可用

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-猿站网-插图

1.1.3异步处理

有些服务间调用是异步的,例如 A 调用 B,B 需要花费很长时间执行,但是 A 需要知道 B 什么时候可以执行完,一般有两种方式,A 过一段时间去调用 B 的查询 api 查询。或者 A 提供一个 callbackB 执行完之后调用 api 通知 A 服务。这两种方式都不是很优雅,使用消息总线,可以很方便解决这个问题,A 调用 B 服务后,只需要监听 B 处理完成的消息,当 B 处理完成后,会发送一条消息给 MQ,MQ 会将此消息转发给 A 服务。这样 A 服务既不用循环调用 B 的查询 api,也不用提供 callback同样 B 服务也不用做这些操作。A 服务还能及时的得到异步处理成功的消息。

2.安装RabbitMq

接下来使用docker进行RabbitMQ的安装

2.1首先拉取镜像

直接拉取镜像的话默认拉取最新版本

docker pull rabbitmq:management

2.2启动镜像

注意修改用户名和密码

docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin –hostname myRabbit –name rabbitmq rabbitmq

参数说明:

-d:表示在后台运行容器; -p:将容器端口 5672(应用访问端口)和 15672 (控制台Web端口号)映射到主机中; -e:指定环境变量: RABBITMQ_DEFAULT_VHOST:默认虚拟机名; RABBITMQ_DEFAULT_USER:默认的用户名; RABBITMQ_DEFAULT_PASS:默认的用户密码; –hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名); –name rabbitmq:设置容器名称; rabbitmq:容器使用的镜像名称;

启动完成后可以通过 docker ps 命令来查看容器是否启动

还可以设置docker启动时自动启动
docker update rabbitmq –restart=always

2.3启动 rabbitmq_management (RabbitMQ后台管理)

//进入容器内部 我这里使用容器名字进入 也可以使用容器id docker exec -it rabbitmq /bin/bash ———————————- //开启web后台管理界面 rabbitmq-plugins enable rabbitmq_management
2.3.1打开RabbitMQweb界面 浏览器输入地址 hhtp://ip:15672 即可访问后台管理界面 这里的ip为运行RabbitMQ的服务器ip 默认的用户名和密码都是guest 但由于我们启动的时候设置了默认的用户名和密码,所以我们可以使用设置的用户名和密码登录

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-1猿站网-插图

如果无法访问 可以尝试打开防火墙 如果是在阿里或者腾讯之类的服务器 要打开安全组的端口!!

到这里 我们docker安装RabbitMQ就完成了 接下来进行延迟插件的安装

3.插件下载并安装

下载地址 https://www.rabbitmq.com/community-plugins.html

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-2猿站网-插图

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-3猿站网-插图

进入web端后左上角有显示当前安装的RabbitMQ版本

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-4猿站网-插图

我这里安装的是3.10版本所以我直接下载最新版的插件就可以

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-5猿站网-插图

安装完成后用工具将插件文件上传到服务器上

将刚刚上传的插件拷贝到容器内plugins目录

docker cp /root/rabbitmq_delayed_message_exchange-3.10.2.ez rabbitmq:/plugins

上传之后进入容器内部

//进入容器 我这里使用容器名字 也可以用容器id进入 docker exec -it rabbitmq /bin/bash ————————————- //移动到plugins目录下 cd plugins ————————————- //查看是否上传成功 ls

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-6猿站网-插图

然后我们启动插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-7猿站网-插图

安装成功后 退出容器

exit

然后重启容器

//我这里还是使用容器名称 也可以使用容器id docker restart rabbitmq

容器启动成功之后,登录RabbitMQ的管理界面(ip:15672 访问web界面),找到ExchangesTab页。点击Add a new exchange,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。

%小知识:docker安装RabbitMQ及安装延迟插件的详细过程-8猿站网-插图

到这里我们的docker 安装RabbitMQ及延迟插件的安装就已经结束了!!

到此这篇关于docker安装RabbitMQ及安装延迟插件的文章就介绍到这了,更多相关docker安装RabbitMQ内容搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://www.cnblogs.com/yczgr/p/rabbitmq.html

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:详解docker API管理接口增加CA安全认证

2023-3-6 15:49:14

建站知识

小知识:VMware克隆虚拟机后修改UUID、MAC地址、IP和主机名 静态ip设置方法

2023-3-6 15:56:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索