【RabbitMQ(day1)】RabbitMQ的概述和安装

入门RabbitMQ

一、RabbitMQ的概述

MQ(Message Queue)翻译为消息队列,通过典型的【生产者】和【消费者】模型,生产者不断向消息队列中生产消息,消费者不断地从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间的解耦。别名为 消息中间件; 通过利用高效可靠的消息传递机制来进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

常见的MQ中间件:老牌的 ActiveMQ、RabbitMQ,炙手可热的 Kafka,阿里巴巴自主研发的RocketMQ等。

RabbitMQ:RabbitMQ 是使用 Erlang 语言开发的开源消息队列系统,基于AMQP协议来实现 。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求更高的场景,对性能和吞吐量的要求还在其次。

RabbitMQ的四大核心:生产者、消费者、队列、交换机。

AMQP(Advanced Message Queue Protocol 高级消息队列协议)是一种二进制协议,它定义了一组规则和标准,以确保消息可以在不同的应用程序和平台之间传递和解释,AMQP协议包含下面四大核心组件:消息、交换机、队列、绑定。

下面是AMQP的模型图:

二、RabbitMQ的安装

RabbitMQ下载网址(3.8.16版本):地址

对应的erlang下载网址(erlang-23.3.4.11-1):地址

下载好后移至Centos中

  1. 安装erlang
bash 复制代码
rpm -ivh erlang-23.3.4-1.el7.x86_64.rpm
  1. 安装一个socat插件
bash 复制代码
yum install socat -y
  1. 安装Rabbit服务
bash 复制代码
rpm -ivh rabbitmq-server-3.8.16-1.el7.noarch.rpm
  1. 设置开启自动开启rabbit-server
bash 复制代码
chkconfig rabbitmq-server on
  1. 启动rabbitmq服务
bash 复制代码
service rabbitmq-server start
  1. 查看rabbitmq服务状态
bash 复制代码
service rabbitmq-server status
  1. 停止服务;开启web管理插件。
bash 复制代码
service rabbitmq-server stop
rabbitmq-plugins enable rabbitmq_management
  1. 再次开启服务访问web页面(默认端口号是15672),记得关防火墙。

  2. 创建新用户(创建账号)

bash 复制代码
rabbitmqctl add_user admin 123456
  1. 设置用户角色
bash 复制代码
rabbitmqctl set_user_tags admin administrator
  1. 设置用户权限
bash 复制代码
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 即admin用户具有/vhost1这个virtual host 中所有的配置,写、读权限
  1. 显示所有用户,尝试使用admin用户去登录。
bash 复制代码
rabbitmqctl list_users

登录成功的界面(RabbitMQ的管理界面)

三、RabbitMQ管理命令行

bash 复制代码
# 服务启动相关
systemctl start|restart|stop|status rabbitmq-server

# 管理命令行  用来在不适用web管理界面的情况下命令操作RabbitMQ
rabbitmqctl help  可以查看更多命令

# 插件管理命令行
rabbitmqplugins enable|list|disable

四、RabbitMQ的GUI界面

当前RabbitMQ服务的概述界面.

连接界面展示,此时的连接为0.

通道界面展示,此时通道数也为0.
交换机操作界面

队列操作界面.

用户的操作界面.

相关推荐
Light601 小时前
数据要素与数据知识产权交易中心建设专项方案——以领码 SPARK 融合平台为技术底座,构建可评估、可验证、可交易、可监管的数据要素工程体系
大数据·分布式·spark
4 小时前
TIDB——TIKV——raft
数据库·分布式·tidb
永亮同学6 小时前
【探索实战】从零开始搭建Kurator分布式云原生平台:详细入门体验与功能实战分享!
分布式·云原生·交互
7 小时前
TIDB——TIKV——读写与coprocessor
数据库·分布式·tidb·
8 小时前
TIDB——PD(placement Driver)
java·数据库·分布式·tidb·
Alluxio9 小时前
Alluxio正式登陆Oracle云市场,为AI工作负载提供TB级吞吐量与亚毫秒级延迟
人工智能·分布式·机器学习·缓存·ai·oracle
sinat_363954239 小时前
canal-deployer1.1.8 + mysql + rabbitmq消息队列
mysql·rabbitmq
武子康9 小时前
Java-204 RabbitMQ Connection/Channel 工作流程:AMQP 发布消费、抓包帧结构与常见坑
java·分布式·消息队列·rabbitmq·ruby·java-activemq
zhz52149 小时前
代码之恋(第十五篇:分布式心跳与网络延迟)
网络·分布式·ai·重构·vue·结对编程
武子康10 小时前
Java-205 RabbitMQ 工作模式实战:Work Queue 负载均衡 + fanout 发布订阅(手动ACK/QoS/临时队列)
java·性能优化·消息队列·系统架构·rabbitmq·java-rabbitmq·mq