暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于RocketMQ的一些废话

方家小白 2021-11-19
189

我觉得是一些废话,但我还是想叨逼叨给你看。

截止 2021
9
1
日, RocketMQ
最新版本是 4.9.1

最新Star
数为1.5w
. fork
数量是8.4k
.

发展历程

RocketMQ
的发展历程分为两部分,2001
年开始RocketMQ
的前身Notify
,在2016
年阿里将RocketMQ
捐赠给Apache
基金会中进行孵化。

在阿里

阿里巴巴消息中间件起源于2001
年的五彩石项目,Notify
在这期间应运而生,用于交易核心消息的流转。

2010
年,B2B
开始大规模使用ActiveMQ
作为消息内核,随着阿里业务的快速发展,急需一款支持顺序消息,拥有海量消息堆积能力的消息中间件,MetaQ 1.0
2011
年诞生。

2012
年,MetaQ
已经发展到了MetaQ 3.0
,并抽象出了通用的消息引擎RocketMQ
。随后,将RocketMQ
进行了开源,阿里的消息中间件正式走入了公众的视野。

2015
年,RocketMQ
已经经历了多年双十一的洗礼,在可用性、可靠性以及稳定性等方面都有出色的表现。与此同时,云计算大行其道,阿里消息中间件基于RocketMQ
推出了Aliware MQ 1.0
,开始为阿里云上成千上万家企业提供消息服务。

到今年,MetaQ
2016
年双十一承载了万亿级消息的流转,跨越了一个新的里程碑,同时RocketMQ
进入Apache
孵化。

Apache

  • 2017
    2
    7
    4.0.0
    版本,成为Apache
    项目之后的第一个版本。属于Apache
    的孵化项目。
  • 2017
    6
    8
    4.1.0
    版本,
  • 2017
    12
    13
    4.2.0
  • 2018
    7
    26
    4.3.0
  • 2019
    1
    17
    4.4.0
    版本
  • 2019
    5
    21
    4.5.1
    版本
  • 2019
    11
    19
    4.6.0
    版本
  • 2020
    3
    5
    4.7.0
    版本
  • 2020
    12
    9
    4.8.0
    版本
  • 2021
    6
    17
    4.9.0
    版本
  • 2021
    8
    27
    日  4.9.1
    版本

截止目前,RocketMQ
先后经历了20
年的发展,承载着淘宝双十一万亿级消息的处理。

Rocket特性

RocketMQ
具有下面的功能特性:

  • 订阅发布: 这个是消息队列产品的基础功能。
  • 支持事务型消息: 指应用本地事务和发送消息操作可以被定义到全局事务中,要么同时成功,要么同时失败。
  • 支持延时消息: 指消息发送到broker
    后,不会立即被消费,等待特定时间投递给真正的topic
  • 支持消息重试: Consumer
    消费消息失败后,要提供一种重试机制,令消息再消费一次
  • 支持消息过滤: RocketMQ
    的消费者可以根据Tag
    进行消息过滤,也支持自定义属性过滤。
  • 支持消息重放: 生产者在发送消息时,同步消息失败会重投,异步消息有重试,oneway
    没有任何保证。
  • 支持流量控制:分为生产者流控和消费者流控。生产者流控因为broker
    处理能力达到瓶颈;消费者流控,因为消费能力达到瓶颈。
  • 支持死信队列: 死信队列用于处理无法被正常消费的消息.

在后面的学习中,我们也会着重的学习这几种特性。

RocketMQ的组成部分

Apache RocketMQ
是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可伸缩性。它由四部分组成: NameServer
Broker
Producer
Consumer
。它们中的每一个都是可以集群方式部署,都可以水平地扩展,而不需要单个故障点。如下图。

NameServer cluster

NameServer
提供轻量级服务发现功能和消息路由功能。每个 Name Server
记录完整的路由信息,提供相应的读写服务,并支持快速存储扩展。

Broker Cluster

Broker
通过提供轻量级的TOPIC
QUEUE
机制来处理消息存储。它们支持Push
Pull
模型,包含容错机制(2
个或3
个副本),并提供强大的峰值填充和以原始时间顺序积累数千亿条消息的能力。此外,broker
还提供了灾难恢复、丰富的指标统计信息和警报机制,这些都是传统消息传递系统所缺乏的。

Producer Cluster

生产者支持分布式部署。分布式生产者通过多种负载平衡模式向Broker
集群发送消息。发送进程支持快速故障和低延迟。

Consumer Cluster

消费者也支持Push
Pull
模型中的分布式部署。它还支持集群消费和消息广播。它提供了实时消息订阅机制,可以满足大多数用户的需求。

下一篇文章我们一起学习一下 关于RocketMQ
的相关概念。

听君一席话,如听一席话,下篇文章见~

最后

希望和你一起遇见更好的自己


文章转载自方家小白,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论