Rabbitmq简介
Rabbitmq:是一种分布式消息中间件,类似消息的驿站,主要用来对消息进行存储与转发,使各个进程间可以通信。
为什么需要rabbitmq呢?如果有一个服务器每秒只能处理10个请求,突然来了100个请求,那剩余90个就会显示失败,作为客户肯定不会愿意处理失败,如果此时进入消息队列,使请求存在消息队列中,那么剩余的90个请求也不会显示处理失败,只是会延时处理。因为服务器处理完手头上10个之后会向消息队列拿取消息继续处理。
具体原理与介绍参考下面这篇文章,很全面,质量很高
https://blog.csdn.net/qq_45173404/article/details/121687489
Rabbitmq安装
本次安装基于Linux发行版CentOS Linux release 7.9.2009 (Core)
首先确保已配置yum网络源:
安装前置
因为rabbitmq需要erlang语言环境,所以需要安装erlang
#安装erlang语言环境
yum install erlang -y
安装rabbitmq包
本次采用在阿里源开源镜像站下载软件包,开源镜像站:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
然后选择软件包
对软件包进行搜索,进到如下界面,选择相应的仓库和发行版
找到下面这个并复制链接
然后回到终端,执行命令进行安装,因为我没有安装wget,所以就用了curl
curl -O https://mirrors.aliyun.com/centos/7.9.2009/cloud/x86_64/openstack-rocky/Packages/r/rabbitmq-server-3.6.5-1.el7.noarch.rpm
等待下载完后会出现下图这个包
然后执行命令安装
rpm -ivh rabbitmq-server-3.6.5-1.el7.noarch.rpm
报错如下
安装依赖
#安装依赖
yum install erlang-sd_notify -y
#完成后继续执行安装命令
rpm -ivh rabbitmq-server-3.6.5-1.el7.noarch.rpm
出现上述界面即安装成功
启动rabbitmq
systemctl start rabbitmq-server
查看状态是否是active
systemctl status rabbitmq-server
开启管理界面,不开启无法访问web页面
rabbitmq-plugins enable rabbitmq_management
如果没问题则访问 本机ip:
默认账号密码都是:guest
默认的账号密码仅限于本机 localhost 进行访问,所以需要添加一个远程登录的用户
具体参考:Centos7安装RabbitMQ与使用(超详细)-CSDN博客
# 创建账号和密码
rabbitmqctl add_user 用户名 密码
# 设置用户角色:administrator
rabbitmqctl set_user_tags 用户名 角色
# 为用户添加资源权限,添加配置、写、读权限
rabbitmqctl set_permissions -p "/" 用户名 ".*" ".*" ".*"
#修改用户密码
rabbitmqctl change_password 用户名 新密码