RabbitMQ介绍及安装和使用

简介

RabbitMQ是一种消息中间件,用于处理来自客户端的异步消息。服务端将要发送的消息放入到队列池中。接收端可以根据RabbitMQ配置的转发机制接收服务端发来的消息。RabbitMQ依据指定的转发规则进行消息的转发、缓冲和持久化操作,主要用在多服务器间或单服务器的子系统间进行通信,是分布式系统标准的配置。

RabbitMQ的三个功能

流量消峰

是为了在访问量剧增的情况下,应用仍然需要发挥作用。使用消息中间件采用队列的形式可以减少突发访问压力,不会因为突发的超时负荷要求而崩溃。

例子:一个平台只能同时处理一万个订单,当突然出现两万个订单,后面的一万订单会下单失败,但是MQ可以做缓冲,使多出来的一万也可以下单,只是后面一万下单成功可能需要更久的时间

在这里插入图片描述

应用解耦

当要调用远程系统时候,当存在订单系统和库存系统时,订单系统下单,库存系统需要收到订单后库存减一,这时候如果系统宕机,会造成订单丢失,把订单消息发入mq,库存系统再去mq消费,就能解决这一问题。
在这里插入图片描述

异步处理

传统的模式:用户下单—>邮件发送—>短信提醒,三个步骤全部完成,才能返回用户消费成功,因为后面两个步骤完全没有必须是当前时间完成,可以用户下单成功后,直接发送给mq,返回给用户消费成功,之后邮件发送和短信提醒,可以其他时间段来消费发送给用户。

MQ基本结构

在这里插入图片描述
Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue
Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。
Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的
Producer:消息生产者,即生产方客户端,生产方客户端将消息发送
Consumer:消息消费者,即消费方客户端,接收MQ转发的消息。

生产者Producer创建连接Connection,通过连接获取信道Channel,

安装

有空我把这三个包上传,我是上传到 opt目录
在这里插入图片描述
然后在opt目录执行以下命令安装

rpm -ivh erlang-21.3-1.el7.x86_64.rpm
yum install socat -y
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

这时候已经可以运行了,但是可以安装一个可视化界面,这样更方便

开启 web 管理插件 rabbitmq-plugins enable rabbitmq_management

运行

添加开机启动 chkconfig rabbitmq-server on

启动服务 /sbin/service rabbitmq-server start

查看服务状态 /sbin/service rabbitmq-server status

停止服务(选择执行) /sbin/service rabbitmq-server stop

本地访问Linux开启防火墙方式

//开启端口号
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
//重启防火墙
firewall-cmd --reload
//查看端口号是否打开
firewall-cmd --query-port=15672/tcp
firewall-cmd --query-port=5672/tcp

这里用的是linux,如果是阿里云服务器的话记得在安全组里添加redis端口

这时候访问 xx.xx.xx.xx:15672就成功了


登录界面

第一次需要先添加并设置权限

查看当前用户和角色
rabbitmqctl list_users

  1. 添加一个新的用户
    创建账号
    rabbitmqctl add_user admin 123
    账号admin 密码123

  2. 设置用户角色
    rabbitmqctl set_user_tags admin administrator
    命令 ----------设置用户角色-角色名–角色权限

  3. 设置用户权限

下面一句是意思

set_permissions [-p <vhostpath>] <user> <conf> <write> <read> 

下面一句表示 用户 user_admin 具有/vhost1 这个 virtual host 中所有资源的配置、写、读权限

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

这时候登录就成功了 xx.xx.xx.xx:15672
账号admin
密码123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Andrew0219

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值