一、RabbiMQ简介
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
1、RabbitMQ服务支持下列操作系统
Linux
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
WindowsNT 到 10
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
Windows Server2003 到 2016
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
macOS
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
Solaris
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
FreeBSD
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
TRU64
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
VxWorks
文章源自小柒网-https://www.yangxingzhen.cn/9620.html
RabbitMQ支持下列编程语言:
Python
Java
Ruby
PHP
C#
JavaScript
Go
Elixir
Objective-C
Swift
2、RabbiMQ模式
RabbitMQ模式大概分为以下三种:
1)单一模式。
2)普通模式(默认的集群模式)。
3)镜像模式(把需要的队列做成镜像队列,存在于多个节点,属于RabbiMQ的HA方案,在对业务可靠性要求较高的场合中比较适用)。
要实现镜像模式,需要先搭建一个普通集群模式,在这个模式的基础上再配置镜像模式以实现高可用。
3、RabbiMQ特点
可伸缩性:集群服务
消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存
二、RabbitMQ安装
1、源码安装
1)安装Elang环境
安装Elang环境需要的软件
[root@localhost ~]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
2)下载 otp_src_18.2.1软件包
[root@localhost ~]# wget http://erlang.org/download/otp_src_18.2.1.tar.gz
3)解压otp_src_18.2.1软件包
[root@localhost ~]# tar zxf otp_src_18.2.1.tar.gz
4)预编译
[root@localhost ~]# cd otp_src_18.2.1
[root@localhost otp_src_18.2.1]# ./configure --prefix=/usr/local/erlang
5)编译及安装
[root@localhost otp_src_18.2.1]# make && make install
6)配置环境变量
[root@localhost otp_src_18.2.1]# echo "export PATH=\$PATH:/usr/local/erlang/bin" >> /etc/profile
7)加载环境变量
[root@localhost otp_src_18.2.1]# source /etc/profile
8)安装RabbitMQ
下载rabbitmq-server-3.6.9软件包
[root@localhost ~]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz
9)解压rabbitmq-server-3.6.9软件包
[root@localhost ~]# tar xf rabbitmq-server-generic-unix-3.6.9.tar.xz
10)重命名rabbitmq
[root@localhost ~]# mv rabbitmq_server-3.6.9/ /usr/local/rabbitmq
11)配置环境变量
[root@localhost ~]# echo "export PATH=\$PATH:/usr/local/rabbitmq/sbin" >>/etc/profile
12)加载环境变量
[root@localhost ~]# source /etc/profile
13)启用RabbitMQ
启动后台管理
[root@localhost ~]# /usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management
后台运行rabbitmq
[root@localhost ~]# rabbitmq-server -detached
14)创建用户及设置用户角色和设置用户权限
创建用户
[root@localhost ~]# rabbitmqctl add_user admin Aa123456
设置用户角色
[root@localhost ~]# rabbitmqctl set_user_tags admin administrator
设置用户权限
[root@localhost ~]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
15)访问RabbitMQ
浏览器输入http://192.168.2.197:15672,如下图所示
16)常用命令
列出当前系统的用户
rabbitmqctl list_users
创建用户
rabbitmqctl add_user admin Aa123456
查看用户权限
rabbitmqctl list_user_permissions [用户名]
删除用户
rabbitmqctl delete_user [用户名]
修改用户密码
rabbitmqctl change_password [用户名] [密码]
开启web远程管理界面
rabbitmq-plugins enable rabbitmq_management
关闭web远程管理界面
rabbitmq-plugins disable rabbitmq_management
启动rabbitmq-server服务
systemctl start rabbitmq-server
停止rabbitmq-server服务
systemctl stop rabbitmq-server
重启rabbitmq-server服务
systemctl restart rabbitmq-server
重载rabbitmq-server服务
systemctl reload rabbitmq-server
查看rabbitmq-server状态
systemctl status rabbitmq-server
设置为开机启动rabbitmq-server服务
systemctl enable rabbitmq-server
2、YUm安装
1)配置yum源,安装RabbitMQ软件
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install rabbitmq-server
2)启动RabbitMQ服务
启用Rabbitmq_management服务
[root@localhost ~]# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
启用RabbitMQ服务
[root@localhost ~]# systemctl start rabbitmq-server
3)查看监听端口(插件监控的端口是15672)
[root@localhost ~]# netstat -lntup |grep 5672
4)登录Rabbitmq web管理控制台,创建新的队列
1)打开浏览器输入http://192.168.2.197:15672, 输入默认的Username:guest,输入默认的Password:guest,登录后出现如图所示的界面。
2)根据界面提示创建一条队列
继续阅读
RabbitMQ最后更新:2023-10-13