RabbitMQ简介
RabbitMQ是Erlang开发的,集群非常方便,因为Erlang天生就是分布式语言,但其本身并不支持负载均衡,支持高并发,支持可扩展。支持AJAX,持久化,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
RabbitMQ 特点
可靠性
扩展性
高可用性
多种协议
多语言客户端
Web管理界面
插件机制
什么是消息队列
MQ 全称为Message Queue, 消息队列。是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。
消息传递指的是程序之间通过在消息中发送数据进行通信。
部署准备首先,确保操作系统已经安装了 Erlang 环境,因为 RabbitMQ 是基于 Erlang 开发的
centos7版本的下载
wget https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4.6-1.el7.x86_64.rpm/download.rpm
rpm -ivh download.rpm 安装即可
erl 使用命令查看是否安装成功
想下载其他版本或者centos其他系统版本的访问网站
rabbitmq/erlang - Packages · packagecloudrabbitmq/erlang - Packages · packagecloud
点进去想要下载的版本包 右击右上角的download选择复制链接
需要删除?distro_version_id=205 这个后缀
然后来到服务器上拉取即可
wget https://packagecloud.io/rabbitmq/erlang/packages/el/8/erlang-25.2.2-1.el8.x86_64.rpm/download.rpm
安装RabbitMQ
Centos7.x系统不建议安装rabbitmq3.9以上版本我这里安装是3.8.29版本
下载其他版本请访问https://github.com/rabbitmq/rabbitmq-server/releases
下载链接
yum -y install rabbitmq-server-3.8.29-1.el7.noarch.rpm 安装rabbitmq
systemctl start rabbitmq-server 启动服务
systemctl status rabbitmq-server 查看服务状态
systemctl enable rabbitmq-server 设置开机自启
使用yum安装的RabbitMQ默认是没有启用Web管理界面的。如果需要启用Web管理界面,需要执行以下步骤:
rabbitmq-plugins enable rabbitmq_management 安装RabbitMQ Web管理插件
systemctl restart rabbitmq-server 重启服务
创建一个admin用户并设置密码但是这个用户没有任何权限,不能访问任何虚拟主机。
rabbitmqctl add_user admin 123456
给admin用户分配administrator 标签,该标签赋予该用户对虚拟主机和其他用户进行管理的权限。
rabbitmqctl set_user_tags admin administrator
创建一个名为 test的新虚拟主机,虚拟主机是逻辑上的概念,可用于隔离不同应用程序或服务之间的 AMQP 交流
rabbitmqctl add_vhost test
授予 "admin" 用户对 /虚拟主机的完全权限,包括读、写和配置权限。这将允许该用户连接到该虚拟主机并执行各种操作,如发布消息或创建队列。
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
4369 -- erlang端口
5672 --程序连接端口
15672 -- 管理界面ui端口
25672 -- server间内部通信端口
访问ip:15672端口 使用创建的用户登录即可