Apache RocketMQ 流计算处理
2018-11-26历启鹏
历启鹏
很高兴有机会和大家分享Apache RocketMQ。首先,和大家分享一下RocketMQ的發展历史。2007年,阿里的B2C业务蓬勃发展,当时,阿里启动了“五采石”项目,这个项目把阿里平台拆分为若干个库存中心、订单中心、支付中心等,阿里第一代消息引擎Notify就诞生于此。2010年,阿里B2B业务也做了一些新的项目,打造了一个全新的消息中间件,叫做Napoli。无论是Napoli,还是第一代消息引擎Notify,都是基于关系型数据库做的数据存储。淘宝的关系型数据存储量比较大,关系型数据库会有大量事件堆积,也会导致很多性能问题。2011年,阿帕奇开源了一个叫卡布卡的项目,该项目的日志处理能力非常好,随后,阿里也基于卡布卡的思路重构了核心逻辑,形成了一个新的项目MetaQ。后来,阿里也把MetaQ贡献给开源社区。因为卡布卡是社交场景,而阿里是电商场景,所以MetaQ在阿里内部的使用过程中会遇到很多问题,比如,宕机和扩容问题。2015年,阿里重新编写了MetaQ,命名为RocketMQ。2016年,阿里把RocketMQ捐献给了阿帕奇基金会,成为了阿帕奇的孵化项目。2017年,RocketMQ成为了阿帕奇基金会的顶级项目。从此以后,RocketMQ受到了极大的关注,国内外的很多银行开始用RocketMQ进行POC的测试。
接下来,为大家介绍RocketMQ的生态布局。首先是RocketMQ Core,主要功能是进行消息订阅和发布。其次是RocketMQ IoT Bridge,主要对接RocketMQ的上游生态IoT设备,可以支持MQTT和其他行业。我们在深耕各个产业的IoT时,发现很多行业都有自己的IoT设备协议。RocketMQ IoT Bridge原生设计的目的是为了兼容多协议,发动有热情的开发者或者厂商一起去补充、完善各个行业的IoT采集协议,支持厂商自己定义自己的行业协议。……
