源生云
  • 简体中文
    • English
博客
物流系统与消息队列(MQ)

2022-03-26

场景方案:
相关应用:
关键词:
Websoft9
CEO

首先我们 学习 MQ 消息中间件不要陷入技术陷阱,先从日常生活中的例子出发,来理解它的原理。

只要真正理解了原理,再结合技术实现去了解其架构。

原理解读

MQ 是为了解决大型软件组件之间的通信问题而产生的一种技术哲学:对海量的、不急迫的通信请求,设置一个中间环节更有效率。

如果把计算机系统要处理的事情统称为消息,消息队列就是处理消息的容器。当应用服务器瞬时接受到大量消息时,无法一下子处理完成。于是把消息暂时储存到消息队列容器,然后慢慢 执行。

MQ分解来看,就是一个转发器,生产者先将消息投递一个叫做「队列」的容器中,然后再从这个容器中取出消息,最后再转发给消费者,仅此而已。

MQ 的原理一句话也可以说清楚:大型程序运行的时候,组件之间需要发送消息相互通信,频繁的直接通信会导致系统变得复杂而且运行效率低下。故,为了解决复杂性和效率,有人就发明 了 MQ 这种中间程序,把消息比作信件,MQ就好比邮局。

一个邮局所需的组织架构,对应软件世界的 MQ 就需要具备对应的架构:

  • MQ 是消息传递服务(消息内容+发件人+收件人)
  • MQ 为消息的发送人(生产者)和消息接收人(消费者)的中间桥梁
  • MQ 支持分布式节点就比邮局的遍布全国的中转中心

rocketmq-arch001-websoft9.png

故,一个 MQ 系统主要是由:消息存储池 + 消息订单处理中心 组成,消息订单处理中心好比邮局企业的大脑,一切的业务实践精华都在大脑中。

对 RocketMQ 而言,NameServer 就是消息订单处理中心, Broker 就是消息存储池。

分布式

消息队列是互联网基础设施,它天然具有分布式的基因。

覆盖全国网络的菜鸟物流用于处理现实世界的商品传递,与分布式MQ用于处理系统的消息传递本质上是一个原理。

内容目录

原理解读
分布式

相关阅读

解决方案

高可用性托管

解决方案

DevOps 全家桶

解决方案

B2B 内容营销