一、RabbiMQ简介
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。RabbitMQ主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
1、RabbitMQ支持操作系统
Linux
WindowsNT 到 10
Windows Server2003 到 2016
macOS
Solaris
FreeBSD
TRU64
VxWorks
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
[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)根据界面提示创建一条队列
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
评论