极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:11
登录|注册

RocketMQ的诞生背景以及其优势

讲述:丁婵大小:2.38M时长:05:11
RocketMQ 是一个来自阿里巴巴的分布式消息中间件,于 2012 年开源,并在 2017 年正式成为 Apache 顶级项目。据了解,包括阿里云上的消息产品以及收购的子公司在内,阿里集团的消息产品全线都运行在 RocketMQ 之上,并且最近几年的双十一大促中,RocketMQ 都有抢眼表现。
谈起消息系统中间件,就开源项目而言,用户的选择其实很多,包括 ActiveMQ、ZeroMQ、Kafka 等。那到底 RocketMQ 又有什么优势?InfoQ 记者采访了 RocketMQ 联合创始人冯嘉。
首先,冯嘉祥细介绍了 RocketMQ 的诞生背景。在阿里巴巴技术发展初期,伴随着淘宝业务的快速发展,网站流量呈现几何级增长。单体巨无霸式的应用无法跟上快速迭代的研发要求,上百工程师每天对着同一套系统,代码不断的迁入迁出,发布、交付成本也非常之高。
这个时候,公司内部从业务、组织层面进行了一次大的水平与垂直切分,拆分出用户中心,商品中心,交易中心,评价中心等平台型应用,分布式电商系统的雏形由此诞生。
阿里第一代消息引擎 Notify 就是在这样的背景下设计出来的,主要解决的核心问题是交易下单链路的异步解耦。当然,这背后,需要我们严肃考虑分布式系统的可扩展性,比方说它的服务发现节点,存储节点,Broker 节点都是支持水平扩展,面对淘宝高峰流量,比较好地起到了削峰填谷的作用。
放眼全球,当时业界的消息引擎,如 Apache ActiveMQ 以及其它 AMQP 实现,在后端有超大规模消费者,尤其是各消费能力不均衡的前提下,经常会出现堆积,这种影响被传递到上游生产者,进而影响交易核心业务,系统卡顿,宕机现象不在少数。如何能够更好的削峰填谷,这也是 Notify 最早面临的难题之一。
再后来,随着 2011 年 Kafka 从 Apache 顶级项目毕业,其自研存储引擎带来的海量消息堆积,高效的持久化特性走入我们的视野。但它特殊的日志通道定位,是不能完全满足阿里巴巴高频的在线交易场景,为此团队设计并研发了新一代消息引擎 RocketMQ(内部叫 MetaQ),从最初的日志传输领域到后来阿里集团全维度在线业务的支撑,RocketMQ 被广泛用在交易,数据同步,缓存同步,IM 通讯,流计算,IoT 等场景。
紧接着,冯嘉也介绍了 RocketMQ 的适用场景。整体来看,全球主流的开源分布式消息引擎,除了 RabbitMQ,基本上都在 Apache 上了。Apache ActiveMQ 以及旗下的各个子项目,主要面向企业级市场,吞吐不是其强项,主要和企业已有基础设施集成起来比较方便,如 EAI,ESB 这种早期企业基础架构。
Apache Kafka 为日志处理而生,目前从社区来看,发力重点在流计算,IoT 等领域,和 Apache Spark Streaming,Apache Flink,Apache Storm 等一站式流计算平台不同,它从 Apache Samza 这种轻量级方案汲取了养分,提供给用户的是一个异步编程框架,用户基于类库编程,不需要考虑分发,部署,调度等一系列传统流计算框架带来的繁琐工作。这种轻量级的解决方案在一些日志处理,ETL 等场景更受大家欢迎。
如果是应对一些高并发,高可靠以及高可用比较苛刻的场景,Apache RocketMQ 是一个不错的选择。最近留意到一个有趣的现象,国内一些中大型规模的公司普遍部署了两套消息引擎,一套选择 Apache RocketMQ 用在交易,数据分发等核心链路上,一套选择 Apache Kafka 用在大数据等在线、离线分析链路上。毫无疑问,Kafka 目前在大数据生态建设这块,确实具备一定的先发优势。
RocketMQ 作为承载了阿里巴巴双十一万亿级数据体量的消息引擎,在电商,金融领域的优势也是比较明显的。目前,国内很多金融领域的领军企业在构建自己的分布式金融体系时,也都不约而同地选择了 RocketMQ。
以上就是今天的主要内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 加菲猫
    现在的MQ很多Kafka,ActiveMQ,RabbitMQ,RocketMQ等,各有各的优势
    1
收起评论
显示
设置
留言
1
收藏
65
沉浸
阅读
分享
手机端
快捷键
回顶部