docker安装RabbitMQ及安装延迟插件的详细过程

目录
  • 1.首先说一下什么是MQ
    • 1.1为什么要用MQ/MQ有什么用
      • 1.1.1流量消峰
      • 1.1.2应用解耦
      • 1.1.3异步处理
  • 2.安装RabbitMq
    • 2.1首先拉取镜像
    • 2.2启动镜像
    • 2.3启动 rabbitmq_management (RabbitMQ后台管理)
      • 2.3.1打开RabbitMQweb界面
  • 3.插件下载并安装
    • 安装完成后用工具将插件文件上传到服务器上

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

1.首先说一下什么是MQ

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

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

1.1.1流量消峰

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

1.1.2应用解耦

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

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界面

  1. 浏览器输入地址 hhtp://ip:15672 即可访问后台管理界面 这里的ip为运行RabbitMQ的服务器ip
  2. 默认的用户名和密码都是guest
  3. 但由于我们启动的时候设置了默认的用户名和密码,所以我们可以使用设置的用户名和密码登录。

如果无法访问 可以尝试打开防火墙 如果是在阿里或者腾讯之类的服务器 要打开安全组的端口!!
到这里 我们docker安装RabbitMQ就完成了 接下来进行延迟插件的安装

3.插件下载并安装

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

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

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

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

将刚刚上传的插件拷贝到容器内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

然后我们启动插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

安装成功后 退出容器

exit

然后重启容器

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

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

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

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

(0)

相关推荐

  • docker快速安装rabbitmq的方法步骤

    一.获取镜像 #指定版本,该版本包含了web控制页面 docker pull rabbitmq:management 二.运行镜像 #方式一:默认guest 用户,密码也是 guest docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management #方式二:设置用户名和密码 docker run -d --hostname my-rabbit --name rabb

  • docker安装并运行rabbitmq的实例代码

    拉取镜像: [mall@VM_0_7_centos ~]$ sudo docker pull rabbitmq:3.7.15 [sudo] password for mall: 3.7.15: Pulling from library/rabbitmq 5b7339215d1d: Pull complete 14ca88e9f672: Pull complete a31c3b1caad4: Pull complete b054a26005b7: Pull complete eef17c6cb6c

  • docker安装RabbitMQ详细步骤

    目录 1.查找镜像 2.下载RabbitMQ镜像 3.创建并启动RabbitMQ容器 4.进入容器交互页面 5.下载插件 6.阿里云控制台 开放端口号 7.登录 1.查找镜像 docker search rabbitmq 2.下载RabbitMQ镜像 直接下载最新的镜像如果需要下载其他版本 自行Docker官网查看并添加版本号再下载 # 下载镜像 docker pull rabbitmq #查看镜像 docker images 3.创建并启动RabbitMQ容器 第一个-p :用于页面访问使用第

  • docker安装rabbitmq无法进入管理页面的问题

    1.环境准备 腾讯云服务器 CENTOS 7 版本 安装docker容器 2.开始安装 docker pull rabbitmq:management 说明:为什么不直接安装 docker pull rabbitmq 这个,因为这个安装后,开启对应端口后是不能直接访问它的管理后台,需要额外的命令开启,后面会讲这种情况 容器运行,对应的端口开启 docker run -di --name=mycloud_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369

  • docker安装RabbitMQ及安装延迟插件的详细过程

    目录 1.首先说一下什么是MQ 1.1为什么要用MQ/MQ有什么用 1.1.1流量消峰 1.1.2应用解耦 1.1.3异步处理 2.安装RabbitMq 2.1首先拉取镜像 2.2启动镜像 2.3启动 rabbitmq_management (RabbitMQ后台管理) 2.3.1打开RabbitMQweb界面 3.插件下载并安装 安装完成后用工具将插件文件上传到服务器上 我这个安装攻略首先得保证服务器上安装过docker了 如果没安装docker请先去安装docker 1.首先说一下什么是MQ

  • springcloud安装rabbitmq并配置延迟队列插件的过程详解

    目录 0. 引言 1. docker安装 1.1 安装rabbitmq 1.2 安装延迟队列插件delayed_message_exchange 2. docker打包安装rabbitmq+延迟队列插件 0. 引言 本期主要讲解如何利用docker快速安装rabbitmq并且配置延迟队列插件 1. docker安装 1.1 安装rabbitmq 1.下载镜像 docker pull rabbitmq 2.安装镜像 docker run -d --hostname my-rabbit --name

  • Docker安装RabbitMQ并安装延时队列插件

    目录 一.RabbitMQ简介 二.docker安装RabbitMQ 1.搜索镜像 2.拉取并运行容器 3.访问 http://192.168.50.128:15672 三.安装RabbitMQ延时队列插件(delayed_message_exchange) 一.RabbitMQ简介 RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛.

  • Docker运行Web服务实战之Tomcat的详细过程

    目录 1. 关于Tomcat 2. 准备工作 3.Dockerfile文件和其他脚本文件 4. 创建和测试镜像 1. 关于Tomcat Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持.同时,它提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台.安全域管理和Tomcat阀等.由于Tomcat本身也内含了一个HTTP

  • Docker 创建容器后再修改 hostname的详细过程

    世上是有后悔药的,只要肯琢磨!再也不用重新创建容器了! 我有一个叫m2的容器,现在想要修改它的 hostname 1.查看容器配置文件在宿主机上的位置,这里看到是 /var/lib/docker/containers/67e012c02434168aff3762ab4edf7550f0bfe1db57b396ce78660f140dd3056e 2.关闭容器.关闭 docker 服务 前提条件,非常重要!!!前提条件,非常重要!!!前提条件,非常重要!!! 3.进入该容器所在配置文件所在宿主机文

  • IntelliJ IDEA(2018版)安装docker插件的详细过程

    目录 一.开发环境 二.安装docker插件 1.Idea内安装 2.下载安装包安装 三.Spring Boot 服务docker部署 1.新建一个Spring Boot工程 2.配置Dockerfile文件 3.创建docker镜像 一.开发环境 开发工具 版本 IntelliJ IDEA 2018.1.6 (Community Edition) Docker integration 181.5087.20 二.安装docker插件 1.Idea内安装 打开Idea,从File->Settin

  • Android自定义Gradle插件的详细过程

    一.Gradle 我们知道在我们现在使用Android Stduio开发Android项目的时候,Android Studio是基于Gradle来帮助我们构建,管理项目的. Gradle:Gradle是一个项目构建工具,用来帮助我们管理项目的依赖.打包.发布.部署等工作. Gradle是通过如build.gradle这种gradle脚本来进行项目构建的,所以我们对项目的构建配置都是可以写在gradle构建脚本中. gradle构建脚本使用的是Groovy语言,Groovy语言也是一种jvm语言,

  • 教你使用Docker搭建gitlab社区汉化版的详细过程

    一.使用Docker Compose配置启动 不知道Docker Compose的请看我的博文<手把手教你 Docker Compose的安装和使用> 1.在/root目录下创建docker-compose.yml文件 使用 vi docker-compose.yml 创建docker-compose.yml文件 (这里文件位置可以根据自己喜好修改) 2.docker-compose.yml文件内容如下 version: '2' services: gitlab: image: 'twang2

  • 使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

    目录 一.NFS-Ganesha的简介 二.NFS-Ganesha的配置 三.NFS-Ganesha容器的使用 3.1 NFS-Ganesha的服务端搭建 3.2 NFS-Ganesha的客户端使用 四.参考资料 NFS-Ganesha3镜像的说明及使用 一.NFS-Ganesha的简介 ​ NFS-Ganesha是一个用户态的支持NFS协议(NFSv3/NFSv4,NFSv4.1)的文件服务器,它为Unix和类Unix的操作系统提供了FUSE(Filesystem in Userspace)兼

  • docker-compose安装RabbitMQ及插件操作步骤

    目录 准备工作 docker-compose脚本 操作步骤 执行命令 进入容器内,启动我们刚刚添加的插件 查看插件是否有安装成功 优化搭建步骤 目的 思路 步骤 准备工作 RabbitMQ默认不带延迟队列插件,可以到官网去下载指定版本的插件,并手动安装到RabbitMQ环境中,在这里我使用的RabbitMQ版本是: rabbitmq:3.8-management 延迟队列插件版本是: rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez 以上版本

随机推荐