【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.
交换机操作界面

队列操作界面.

用户的操作界面.

相关推荐
用户83071968408221 小时前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者2 天前
RabbitMQ的消息模式和高级特性
后端·消息队列·rabbitmq
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
让我上个超影吧5 天前
消息队列——RabbitMQ(高级)
java·rabbitmq
塔中妖5 天前
Windows 安装 RabbitMQ 详细教程(含 Erlang 环境配置)
windows·rabbitmq·erlang
断手当码农5 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者5 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀5 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Ronin3055 天前
信道管理模块和异步线程模块
开发语言·c++·rabbitmq·异步线程·信道管理
Asher05095 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式