01 介绍
02 前世今生
RocketMQ在阿里内部叫做Metaq(最早名为Metamorphosis,中文意思“变形记”,是作家卡夫卡的中篇小说代表作,可见是为了致敬Kafka)。
RocketMQ是Metaq 3.0之后开源的版本。
Metaq在阿里巴巴集团内部、蚂蚁金服、菜鸟等各业务中被广泛使用,接入了上万个应用系统中。
并平稳支撑了历年的双十一大促(万亿级的消息),在性能、稳定性、可靠性等方面表现出色,在整个
阿里技术体系和大中台战略中发挥着举足轻重的作用。
Metaq最早源于Kafka,早期借鉴了Kafka很多优秀的设计。但是由于Kafka是Scale语言编写而阿里
系主要使用Java,且无法满足阿里的电商、金融业务场景,所以誓嘉(花名)团队用Java重新造轮子,
并做了大量的改造和优化。
在此之前,淘宝有一款消息中间件名为Notify,目前已经逐步被Metaq所取代。
第一代的Notify主要使用了推模型,解决了事务消息;第二代的MetaQ主要使用了拉模型,解决了
顺序消息和海量堆积的问题。相比起Kafka使用的Scale语言编写,RabbitMQ 使用Erlang语言编写,基
于Java的RocketMQ开源后更容易被广泛的研究,以及其他大厂定制开发。
03 应用