赞
踩
RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种
程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成。
RabbitMQ简单来说就是一个消息队列中间件,用来保存消息和传递消息的一个容器。充当一个中间人的作用。
而队列的主要目的就是提供正确的路由来保证消息的传递;如果发送消息时消费者不可用的话,默认情况下该消
息将会一直被存储在队列中,直到消费者消费为止。
那么同时呢,如果设置了消息存活的时间,即消息的有效期。在此有效期间消息如果还没有被消费的话,那么该
消息就会变成死信,由死信交换机接收。而绑定死信交换机的队列则称为死信队列。
RabbitMQ的常见作用有三种,分别是服务间解耦、实现异步通信、流量削峰。
主要实现了消费者和生产者之间的解耦,发送异步消息,高并发访问解决流量削锋等问题。实现高性能,高可
用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
docker pull rabbitmq
docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 5672:5672 rabbitmq:latest
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)
15672是管理界面的端口,5672是服务的端口。这里顺便将管理系统的用户名和密码设置为admin 123456
docker exec -it 6d49b17f4fcd /bin/bash
rabbitmq-plugins enable rabbitmq_management
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --reload
IP:15672
RabbitMQ 详情页面
排查后发现是安装启动mq时用户没创建成功或者创建后没有赋予管理员权限
docker exec -it 自己的mq的名字【9d8c1235cd4e】 bash
rabbitmqctl list_users
rabbitmqctl add_user 用户名 密码 // 创建用户
rabbitmqctl add_user root 123456
rabbitmqctl set_user_tags 用户名 administrato // 赋予权限
rabbitmqctl set_user_tags root administrato
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。