1 RabbitMQ概述
-
RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址:https://www.rabbitmq.com/
-
RabbitMQ的结构:
-
RabbitMQ中的一些角色:
- channel:操作MQ的工具
- publisher:生产者
- consumer:消费者
- exchange个:交换机,负责消息路由(路由消息到队列中)
- queue:队列,存储消息(缓存消息)
- virtualHost:虚拟主机,隔离不同租户的exchange、queue、消息的隔离(是对queue、exchange等资源的逻辑分组)
2 CentOS7环境Docker安装RabbitMQ(单机部署)
2.1 获取镜像
-
方式1:在线拉取
docker pull rabbitmq:3-management
-
方式2:本地加载
- 课前资料已经提供了镜像包:
- 上传到虚拟机中后,使用命令加载镜像即可:
docker load -i mq.tar
- 课前资料已经提供了镜像包:
2.2 安装MQ
-
执行下面的命令来运行MQ容器:
docker run \ -e RABBITMQ_DEFAULT_USER=yubaby \ -e RABBITMQ_DEFAULT_PASS=123321 \ --name mq \ --hostname mq1 \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitmq:3-management
-
命令解读:
-
-e
给MQ设置环境变量,此处设置了两个环境变量:用户名&密码,用于后续访问MQ&登录MQ管理平台 -
--name
是给MQ起名字 -
--hostname
给MQ设置主机名(单机部署时不配置也行;但集群部署时必须配置,后面讲MQ集群部署) -
-p
是配置端口映射,此处开放两个端口,15672是MQ管理平台端口,5672是MQ消息通信端口 -
-d
是后台运行(此命令,即安装MQ容器) - 最后的
rabbitmq:3-management
是镜像名称
-
- 安装&访问
- 默认界面
- 添加用户&分配权限
虚拟主机隔离