赞
踩
个人名片:
博主:酒徒ᝰ.
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:三人行,必有我师焉。
本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看
- RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,也称面向消息的中间件。
- RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。对于所有主要的编程语言,均有与代理接口通讯的客户端库。
- RabbitMQ在2013年5月成为GoPivotal的一部分。
RabbitMQ是一个可靠、快速、灵活的消息中间件,它用于在不同的应用程序或服务之间传递消息。通过使用AMQP协议,RabbitMQ能够在分布式系统中实现可靠的消息传递。
RabbitMQ的主要概念包括以下几种:
- 消息:在应用程序之间传递的数据。
- 队列:用于存储消息的容器。
- 生产者:向队列中发送消息的应用程序。
- 消费者:从队列中接收消息的应用程序。
RabbitMQ的主要用途包括以下几种:
- 解耦:通过将消息发送到队列,生产者和消费者可以独立地运行和扩展。
- 异步处理:消费者可以在后台处理消息,从而不会阻塞生产者。
- 流量控制:通过控制队列的大小,可以限制生产者的发送速度,以防止消息过多地占用内存。
- 优先级处理:可以根据需要将消息标记为高优先级或低优先级,以便消费者根据其需要处理消息。
docker pull rabbitmq:3-management
方式二:从本地下载
课前资料中提供了镜像压缩包mq.tar
docker load -i mq.tar
2. 安装MQ
docker run \
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
-e
: 该选项用于设置环境变量,此例中设置了两个环境变量RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS。
“RABBITMQ_DEFAULT_USER=itcast”: 该环境变量设置了RabbitMQ的默认用户为’itcast’。
“RABBITMQ_DEFAULT_PASS=123321”: 该环境变量设置了RabbitMQ的默认用户密码为’123321’。--name mq
: 该选项用于给容器实例指定一个名字,这里给容器命名为’mq’。--hostname mq
: 该选项用于设置容器的主机名为’mq’。-p 15672:15672
: 该选项用于端口映射,将宿主机的15672端口映射到容器的15672端口。-p 5672:5672
: 该选项用于端口映射,将宿主机的5672端口映射到容器的5672端口。-d
: 该选项用于在后台运行容器,并返回容器ID。"rabbitmq:3-management
: 该选项指定了使用的Docker镜像名为rabbitmq,版本为3-management,即RabbitMQ的3.7.x版本的管理插件。
解释:
15672是管理平台的端口,5672是做消息命令连接的端口
–name具有唯一性,若已存在对应的name会报错,如下:
3.登录rabbitmq
用户名和密码为运行MQ容器是设置的-e属性USER和PASS。
username:itcast
password:123321
RabbitMQ的结构和概念
RabbitMQ中的几个概念:
channel:操作MQ的工具
exchange:路由消息到队列中
queue:缓存消息
virtual host:虚拟主机,是对queue、exchange等资源的逻辑分组
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。