RabbitMQ 简介
一、什么是RabbitMQ?
RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种
程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成。
RabbitMQ是干什么的?
RabbitMQ简单来说就是一个消息队列中间件,用来保存消息和传递消息的一个容器。充当一个中间人的作用。
而队列的主要目的就是提供正确的路由来保证消息的传递;如果发送消息时消费者不可用的话,默认情况下该消
息将会一直被存储在队列中,直到消费者消费为止。
那么同时呢,如果设置了消息存活的时间,即消息的有效期。在此有效期间消息如果还没有被消费的话,那么该
消息就会变成死信,由死信交换机接收。而绑定死信交换机的队列则称为死信队列。
RabbitMQ的常见作用有那些?
RabbitMQ的常见作用有三种,分别是服务间解耦、实现异步通信、流量削峰。
主要实现了消费者和生产者之间的解耦,发送异步消息,高并发访问解决流量削锋等问题。实现高性能,高可
用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
华为云服务器 Docker安装 RabbitMQ
1、拉取镜像
docker pull rabbitmq
2、启动
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
3、进入容器
docker exec -it 6d49b17f4fcd /bin/bash
4、安装插件
rabbitmq-plugins enable rabbitmq_management
5、开放开防火墙端口 和 开放华为云安全组
firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --reload
6、网址访问 默认登陆名和密码 admin admin
IP:15672
RabbitMQ 详情页面
后续使用报错!!!!!rabbitmq 登录时一直弹窗
排查后发现是安装启动mq时用户没创建成功或者创建后没有赋予管理员权限
进入docker容器查看用户
docker exec -it 自己的mq的名字【9d8c1235cd4e】 bash
rabbitmqctl list_users
发现原来是自己创建用户 root 成功但是权限赋予失败了,于是重新赋予权限
rabbitmqctl add_user 用户名 密码 // 创建用户
rabbitmqctl add_user root 123456
rabbitmqctl set_user_tags 用户名 administrato // 赋予权限
rabbitmqctl set_user_tags root administrato
文章来源:https://www.toymoban.com/news/detail-637454.html
然后浏览器访问 RabbitMQ Management 登录这个用户后, 成功!!
文章来源地址https://www.toymoban.com/news/detail-637454.html
到了这里,关于【软件环境安装部署】华为云服务器 Docker安装 RabbitMQ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!