RabbitMQ之入门概述及安装解读

举报
yd_249383650 发表于 2023/10/30 15:07:50 2023/10/30
【摘要】 ​ 目录基本介绍概述 学习网址消息中间件 应用场景基于Docker的快速安装常见使用命令基本介绍概述 RabbitMQ是一个广泛使用的消息服务器,采用Erlang语言编写,是一种开源的实现 AMQP(高级消息队列协议)的消息中间件;RabbitMQ 拥有数万名用户,是最受欢迎的开源消息代理之一。从T-Mobile 到Runtastic,RabbitMQ 在全球范围内的小型初创公司和大型企业中...

 

目录


基本介绍

概述 

学习网址

消息中间件 

应用场景

基于Docker的快速安装

常见使用命令



基本介绍

概述 

RabbitMQ是一个广泛使用的消息服务器,采用Erlang语言编写,是一种开源的实现 AMQP(高级消息队列协议)的消息中间件;

  • RabbitMQ 拥有数万名用户,是最受欢迎的开源消息代理之一。从T-Mobile 到Runtastic,RabbitMQ 在全球范围内的小型初创公司和大型企业中得到使用。
  • RabbitMQ 是轻量级的,易于在本地和云中部署。它支持多种消息传递协议和流媒体。 RabbitMQ 可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。
  • RabbitMQ 运行在许多操作系统和云环境上,并为大多数流行语言提供了广泛的开发人员工具。 

RabbitMQ最初起源于金融系统,它的性能及稳定性都非常出色;

AMQP协议(http://www.amqp.org),即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

学习网址

官网:RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ

Github:https://github.com/rabbitmq

消息中间件 

简单来说,消息中间件就是指保存数据的一个容器(服务器),可以用于两个系统之间的数据传递。消息中间件一般有三个主要角色:生产者、消费者、消息代理(消息队列、消息服务器);

MQ=Message Queue

编辑

 生产者发送消息到消息服务器,然后消费者从消息代理(消息队列)中获取数据并进行处理; 

应用场景

应用解耦(异步)

下订单---向MQ 发消息--》积分系统,手机短信系统接收消息

编辑

同步是阻塞的(会造成等待),异步是非阻塞的(不会等待);

大流量高并发请求、批量数据传递,就可以采用异步处理,提升系统吞吐量;

系统解耦

多个系统之间,不需要直接交互,通过消息进行业务流转;

编辑流量削峰

MQ 数据是只有一条数据在使用中。 在很多存在并发,而又对数据一致性要求高,而且对性能要求也高的场景,如何保证,那么MQ就能起这个作用了。不管多少流量进来,MQ都会让你遵守规则,排除处理,不会因为其他原因,导致并发的问题,而出现很多意想不到脏数据。


基于Docker的快速安装

使用docker查询rabbitmq的镜像

docker search rabbitmq

编辑

安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可 

docker pull rabbitmq

编辑

启动mq 

docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5673:5672 rabbitmq

编辑

需要注意的是-p 5673:5672 解释:-p 外网端口:Docker的内部端口 ,你们可以改成自己的外网端口号,我这里映射的外网端口是5673那么程序连接端口就是用5673 

通过docker ps -a 查看部署的mq容器id,在通过 docker exec -it 容器id /bin/bash 进入容器内部在 运行:rabbitmq-plugins enable rabbitmq_management

编辑

 命令执行完毕后,web管理界面就启用了,打开浏览器输入地址http://ip:15672/

编辑

默认用户名和密码都是guest

编辑


常见使用命令

rabbitmqctl  是一个管理命令,可以管理rabbitmq的很多操作。

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

这些操作都是通过rabbitmqctl管理命令来实现完成。

查看帮助:

rabbitmqctl add_user --help

相应的命令

查看当前用户列表

rabbitmqctl list_users

新增一个用户

语法:rabbitmqctl add_user Username  Password

示例: rabbitmqctl add_user admin 123456

设置用户角色

rabbitmqctl set_user_tags  User  Tag

示例:rabbitmqctl set_user_tags  admin administrator

说明:此处设置用户的角色为管理员角色

设置用户权限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

说明:此操作是设置admin用户拥有操作虚拟主机/下的所有权限

查看用户权限

./rabbitmqctl list_permissions


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。