Ubuntu 环境安装 之 RabbitMQ 快速入手

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
🌱🌱个人主页:奋斗的明志
🌱🌱所属专栏:RabbitMQ

📚本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为展示我的学习过程及理解。文笔、排版拙劣,望见谅。

在这里插入图片描述

前言

Rabbit, 兔子的意思
互联网行业很多公司, 都喜欢用动物命名产品, 或者作为公司的logo, 吉祥物. 比如: 腾讯的企鹅, 京东的狗, 美团的袋鼠, 携程的海豚,阿里就更多了, 蚂蚁, 飞猪,天猫,菜鸟, 闲鱼, 盒马… 更是以一己之力, 组建了一个动物园…
Rabbit 也是⼀个公司名. MQ ( message queue ) 消息队列 的意思 , RabbitMQRabbit企业下的⼀个消息队列产品.
RabbitMQ 是⼀个实现了 AMQP消息队列 服务,是当前主流的消息中间件之⼀.

AMQP,即Advanced Message Queuing Protocol(⾼级消息队列协议),是⼀个通⽤应⽤层协议,提供统⼀消息服务的协议, 为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端或中间件, 开发语言等条件的限制。

在互联网架构中, 会经常使用MQ来作为消息通信服务. 接下来我们看下什么是MQ

一、什么是MQ(消息队列)

MQ( Message queue ), 从字面意思上看, 本质是个队列, FIFO 先⼊先出,只不过队列中存放的内容
消息(message)⽽已. 消息可以非常简单,比如只包含文本字符串, JSON等,也可以很复杂, 比如内嵌对象.
在日常生活中,例如:手机、水杯…可能会进行一些排队摆放

在这里插入图片描述

MQ多用于分布式系统之间进行通信

  • 系统之间的调用通常有两种方式:
  • 同步通信:

直接调用对方的服务, 数据从一端发出后立即就可以达到另⼀端

在这里插入图片描述

  • 异步通信:

数据从⼀端发出后,先进入⼀个容器进行临时存储,当达到某种条件后,再由这个容器发送给另⼀端.
容器的⼀个具体实现就是MQ( message queue )

在这里插入图片描述

RabbitMQ 就是MQ的⼀种实现

例如:
打电话客服直接响应
客服记录下来,过一段时间(24小时)内进行回复

二、MQ的作用

MQ主要工作是接收并转发消息, 在不同的应用场景下可以展现不同的作用

可以把MQ想象成一个仓库. 采购部门进货之后, 把零件放进仓库里
生产部门从仓库中取出零件, 并加工成产品.
MQ和仓库的区别是, 仓库里放的是物品, MQ里放的是消息
仓库负责存储物品,并转发物品,MQ负责存储和转发消息

1、异步解耦

在业务流程中, ⼀些操作可能非常耗时, 但并不需要即时返回结果. 可以借助MQ把这些操作异步化, 比如用户注册后发送注册短信或邮件通知, 可以作为异步任务处理, 而不必等待这些操作完成后才告知用户注册成功

在这里插入图片描述

2、流量削峰

在访问量剧增的情况下, 应用仍然需要继续发挥作用, 但是这样的突发流量并不常见. 如果以能处理这类峰值为标准而投入资源,无疑是巨大的浪费. 使用MQ能够使关键组件支撑突发访问压力, 不会因为突发流量而崩溃. 比如秒杀或者促销活动, 可以使用MQ来控制流量, 将请求排队, 然后系统根据自己的处理能力逐步处理这些请求.
例如:12306 节假日的时候进行买票(不可能在这个时候买入多台机器)
商场人多的时候进行排队

3、消息分发

当多个系统需要对同⼀数据做出响应时, 可以使用MQ进行消息分发. 比如支付成功后, 支付系统可以向MQ

评论 98
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值