RabbitMQ 安装(在docker容器中安装)

为什么要用?

RabbitMQ是一个开源的消息代理和队列服务器,主要用于在不同的应用程序之间传递消息。它实现了高级消息队列协议(AMQP),并提供了一种异步协作机制,以帮助提高系统的性能和扩展性。 RabbitMQ的作用主要体现在以下几个方面:

  1. 异步处理:通过将消息写入消息队列,可以将非必要的业务逻辑以异步的方式运行,从而加快响应速度。

  2. 削峰:在并发量大的情况下,RabbitMQ可以有效地控制消息队列的长度,从而限制请求的数量,缓解系统在高并发情况下的压力。

  3. 解耦:RabbitMQ可以帮助实现系统与系统之间的解耦,降低系统之间的耦合度。例如,在订单系统中,用户下单后的业务逻辑可能包括扣减库存、生成单据、发红包和发短信通知等。通过RabbitMQ,这些逻辑可以拆分出来异步执行,提高系统性能。 4. 灵活的路由:RabbitMQ支持多种消息路由方式,如直接路由(direct)、主题路由(topic)等,可以根据实际需求进行灵活配置。

  4. 跨平台、跨语言:RabbitMQ支持多种编程语言和平台,所有主要的编程语言均有与代理接口通讯的客户端库。

  5. 高可用性:RabbitMQ具有良好的可扩展性和故障转移能力,可以确保系统在出现故障时仍能正常运行。 总之,RabbitMQ的作用在于提供一种高效、可靠、灵活的消息传递机制,以支持复杂的业务场景和大规模系统的运行。通过使用RabbitMQ,可以提高系统的性能、扩展性和稳定性,降低系统间的耦合度,使开发人员能够更加专注于业务逻辑的实现。

安装

复制代码
docker pull rabbitmq:3.8    (版本为:3.8)

创建容器:

docker run -di --name=MyRabbitMq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root d8ffe4d50229

复制代码
docker run -di --name=取名称 -p 15672:15672 -p 5672:5672   -e RABBITMQ_DEFAULT_USER=账号  -e RABBITMQ_DEFAULT_PASS=密码  镜像ID或镜像名称

 docker ps   //查看运行中的容器
 docker exec -it 容器id /bin/bash   进入rabbitmq容器
 rabbitmq-plugins enable rabbitmq_management   在容器内安装一个插件
 exit   //退出容器

docker ps

知识点:

15691:是图像化界面

5671:是接受消息和发送消息的界面

图形化界面访问:http://192.168.56.10:15672/#/

如果报错:

如果报下面的错误:

复制代码
docker exec -it 容器id /bin/bash 

cd /etc/rabbitmq/conf.d  --配置文件
ls  --查询

echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf

docker restart 容器ID(或容器名称)

如图:

如图:

关注,收藏,点赞,有问题可以私信"门主" :v:z13135361785

相关推荐
我命由我1234511 分钟前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
北城以北888812 分钟前
SSM--MyBatis框架之缓存
java·缓存·intellij-idea·mybatis
kyle~17 分钟前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹朋羽23 分钟前
Spring EL 表达式
java·spring·el表达式
happy_king_zi43 分钟前
RabbitMQ 是否也支持消费组
分布式·rabbitmq
沐浴露z1 小时前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm
No0d1es1 小时前
电子学会青少年软件编程(C/C++)1级等级考试真题试卷(2025年9月)
java·c语言·c++·青少年编程·电子学会·真题·一级
一叶知秋yyds1 小时前
Centos 安装 Docker教程
linux·docker·centos
return(b,a%b);2 小时前
docker拉取失败,更换docker的源
docker·容器·eureka
9号达人2 小时前
普通公司对账系统的现实困境与解决方案
java·后端·面试