1.1、RocketMQ简介

Apache RocketMQ是一个采用Java语言开发的分布式的消息系统,由阿里巴巴团队开发,与2016年底贡献给

Apache,成为了Apache的一个顶级项目。

在阿里内部,RocketMQ 很好地服务了 集 团大大小小上千个应用,在每年的双十一当天,更有不可思议的万亿级

消息通过 RocketMQ 流转(在 2017 年的双十一当天,整个阿里巴巴集团通过 RocketMQ 流转的线上消息达到了 万

亿级,峰值 TPS 达到 5600 万),在阿里大中台策略上发挥着举足轻重的作用 。

地址:http://rocketmq.apache.org/

RocketMQ简介及核心概念说明_apache

1.2、RocketMQ的历史发展

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

2010 年, B2B 开始大规模使用 ActiveMQ 作为消息内核,随着阿里业务 的快速发展,急需一款支持顺序消

息,拥有海量消息堆积能力的消息中间件, MetaQ 1.0 在 2011 年诞生 。

2012年, MetaQ已经发展到了3.0版本,并抽象出了通用的消息引擎 RocketMQ。 随后,对 RocketMQ 进行

了开源 , 阿里的消息中间件正式走人了 公众视野 。

2015年, RocketMQ已经经历了多年双十一的洗礼,在可用性、 可靠性以 及稳定性等方面都有出色的表现。

与此同时 ,云计算大行其道, 阿里消息中间 件基于 RocketMQ推出了 Aliware MQ 1.0,开始为阿里云上成

千上万家企业提 供消息服务 。

2016 年, MetaQ 在双十一期间承载了万亿级消息的流转,跨越了一个新的里程碑 ,同时 RocketMQ 进入

Apache 孵化 。

RocketMQ简介及核心概念说明_消息队列_02

内容以及图片来源于《RocketMQ实战与原理解析》。

1.3、核心概念说明

RocketMQ简介及核心概念说明_消息队列_03

Producer

消息生产者,负责产生消息,一般由业务系统负责产生消息。

Producer Group

一类 Producer 的集合名称,这类 Producer 通常发送一类消息,且发送逻辑一致。

Consumer

消息费者,负责消费消息,一般是后台系统负责异步消费。

Push Consumer

服务端向消费者端推送消息

Pull Consumer

消费者端向服务定时拉取消息

Consumer Group

一类 Consumer 的集合名称,这类 Consumer 通常消费一类消息,且消费逻辑一致。

NameServer

集群架构中的组织协调员

收集broker的工作情况

不负责消息的处理

Broker

是RocketMQ的核心负责消息的发送、接收、高可用等(真正干活的)

需要定时发送自身情况到NameServer,默认10秒发送一次,超时2分钟会认为该broker失效。

Topic

不同类型的消息以不同的Topic名称进行区分,如User、Order等

是逻辑概念

Message Queue

    消息队列,用于存储消息