分布式消息中间件 Rabbit Mq

RabbitMq

一 MQ的相关概念

1.什么是MQ

本质是个队列,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。

2.为什么要用MQ

1、异步处理

在注册服务的时候,如果同步串行化的方式处理,让存储数据、邮件通知等挨着完成,延迟较大
采用消息队列,可以将邮件服务分离开来,将邮件任务之间放入消息队列中,之间返回,减少了延迟,提高了用户体验
2、应用解耦

电商里面,在订单与库存系统的中间添加一个消息队列服务器,在用户下单后,订单系统将数据先进行持久化处理
然后将消息写入消息队列,直接返回订单创建成功,然后库存系统使用拉/推的方式,获取订单信息再进行库存操作
3、流量削锋

秒杀活动中,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列
服务器在接收到用户请求后,首先写入消息队列,这时如果消息队列中消息数量超过最大数量,则直接拒绝用户请求或返回跳转到错误页面
秒杀业务根据秒杀规则读取消息队列中的请求信息,进行后续处理

​ RabbitMQ是一个消息中间件:它接受并转发消息。RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点, RabbitMQ与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。

3. 四大核心概念

生产者

产生数据发送消息的程序是生产者

交换机

交换机是RabbitMQ非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,亦或者是把消息丢弃,这个得有交换机类型决定

队列

队列是RabbitMQ内部使用的一种数据结构, 但它们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲。

消费者

消费者大多时候是一个等待接收消息的程序。请注意生产者,消费者和消息中间件很多时候并不在同一机器上。同一个应用程序既可以是生产者又是可以是消费者。

4.RabbitMQ核心部分

在这里插入图片描述

5. 安装

​ 第一步 文件上传

​ 第二步 安装文件(分别按照以下顺序安装)

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

​ 常用命令

#添加开机启动RabbitMQ服务
	chkconfig rabbitmq-server on
#启动服务
	/sbin/service rabbitmq-server start 
#查看服务状态
	/sbin/service rabbitmq-server status
    停止服务(选择执行)
	/sbin/service rabbitmq-server stop   
#开启web管理插件
	rabbitmq-plugins enable rabbitmq_management
#用默认账号密码(guest)访问地址http://1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值