docker 安装rabbitMQ

1. rabbitMQ介绍

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

2. MQ介绍

MQ是一个互联网架构中常见的解耦利器。
什么时候不使用MQ?
上游实时关注执行结果
什么时候使用MQ?
1)数据驱动的任务依赖,多个任务需要轮流执行,轮流订阅上一个任务。
2)上游不关心多下游执行结果,上游执行完发送到MQ,多下游订阅MQ。
3)异步返回执行时间长
在这里插入图片描述

  1. 死信队列多了一个过期的机制,到期会自动去尝试消费,通过死信交换机做匹配,选择想要的消费失败的消息。
    消息中间件是在消息传输过程中保存消息的容器。队列的主要目的是提供路由并保证消息的传递。
    特点:
    1异步处理模式
    2多个应用程序调用关系为松耦合关系
    传递模型:
    1、点多点模型PTP
    每个消息只用一个消费者
    发送者和接收者没有时间依赖
    接受者确认消息接受和处理成功
    2、发布-订阅模型Pub/Sub
    一对多关系,通过订阅主题,发布者建立一个订阅,订阅者保持持续的活动状态以接收消息。
    每个消息可以有多个订阅者
    客户端只有订阅后才能接收到消息,有时间依赖。
    持久订阅 订阅关系建立后,消息不会消失,不管订阅者是否都在线
    非持久订阅 订阅者为了接受消息,必须一直在线

3. 典型的应用案例

1、注册时发送邮件或发送短信
2、日志分析使用,多个服务产生的数据发送到中间件发送到分析服务。
3、消息复制,用于跨机房数据传输、搜索、离线数据计算等。
4、延迟消息发送和暂存,把中间件当成可靠的消息暂存地。接受消息,暂时先不发送。

4. RabbitMQ的安装

1、进入docker hub镜像仓库地址:https://hub.docker.com/

2、搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);
在这里插入图片描述
3、拉取镜像
4、根据下载的镜像创建和启动容器

docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v /mq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

说明

-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

5、使用命令:docker ps 查看正在运行容器
在这里插入图片描述
6、可以使用浏览器打开web管理端:http://Server-IP:15672
在这里插入图片描述

docker rabbitmq安装配置完成!
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐