GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

Apache 基金会总结 RocketMQ:中国 70%的银行核心业务已采用,国内技术人员贡献明显增多

2019 年 4 月 02 日

Apache基金会总结RocketMQ:中国70%的银行核心业务已采用,国内技术人员贡献明显增多

Apache 生态利用社区建立了一种极其有效的开放式创新 Apache Way,旨在通过社区声音、邮件列表以及项目管理委员会完成对 Apache 产品的快速迭代。 Apache RocketMQ项目管理委员会成员 Von Gosling 对 RocketMQ 这款企业级产品在项目和社区上的项目前景进行了分享和介绍,本文通过他的分享也希望读者能更多地参与 Apache 社区的推广和问题解决。


2018 年 Von Gosling 发表了一篇文章来自非英语国家的社区如何理解并使用Apache方式进行开放式创新,表达了开发人员希望有一个开放的社区环境,善于使用邮件列表,能倾听社区的声音并及时做出响应和决定。本文,Von Gosling 通过一些实际的例子分享了一些 Apache RocketMQ 社区建设和如何协作创新的故事。


Apache RocketMQ 前景

Apache RocketMQ 最初是用在线电子商务事务处理的分布式消息传递引擎,可以在许多公司的生产环境中进行数十亿甚至数万亿的信息传输。


优点

  • RocketMQ 已被证明适用于大规模分布式场景中的高吞吐量、低延迟消息传递系统。

  • Linux Foundation 上的标准 OpenMessaging 项目为云中的分布式消息传递系统提供了一个通用的基准测试平台,Apache RocketMQ 是参考的基准之一。

  • 作为一个广泛使用的消息传递引擎,RocketMQ 提供了拉动和推送模型,支持预定消息、有序消息、批量消息、广播消息、消息过滤、死信队列(dead-letter Queue)等,几乎支持所有经典事件驱动或流媒体场景。


RocketMQ 正在尝试去补充一些还未能在企业级进行支持的核心功能。


新功能

去年,RocketMQ 社区宣布了三个有吸引力的功能:事务性消息消息跟踪身份验证和授权


  • 事务性消息保证了发送方和本地业务操作之间的事务一致性。此功能是一个非常有价值的功能,由金融行业的几个人发起和贡献。基于事务性消息,我们可以构建一个全栈分布式事务平台,适用于需要长期运行的微服务。


Apache 生态

问题

在采用消息传递机制的企业级应用程序中,始终存在一个令人不安的问题:我的信息发送到哪里了? 消费者接收成功或失败,我如何找到消息历史?这是一项非常困难的任务,特别是当提供云发布/订阅服务时,因为消息传递是一种异步解耦过程,上游和下游相互之间并不了解。


一个例子

幸运的是,中国移动研究院的一些人在 Apache RocketMQ Meetup 上找到了项目管理委员会(PMC)的成员,并告知了他们碰到的问题。PMC 成员向他们推荐了社区中最新的RIP计划,这项计划是 Apache RocketMQ 内部代码非常有挑战性的一次优化和改进。在 PMC 成员的帮助下,他们一起补充、讨论并接受了这项改进计划。Von Gosling 透露到,经过一段必要的时间规划,RocketMQ 开始设计、编码和讨论,交换代码并实现细节。其中包括几个聚会,聚集在一起讨论和审查代码,直到后来的在线验证和发布。更有意义的是,在审核过程中,来自社区的另一个云供应商还参加了进来。通过简单的视频通信,最初的实现被优化并解决了兼容性问题。在社区中,最后的新版本由两家云供应商在生产中进行了验证。通过 ACL 提供的功能,PMC 和社区持续协作,最终发布了 RIP 计划的最终版本。


社区的工作

通过聚会收集要求,通过公开讨论,再加上使用 Zoom 的视频通信,RocketMQ 社区在去年完成了几个重要的发布。同时,为了更好地促进生态繁荣,还对 Apache RocketMQ 外部存储库下的几个项目进行了重组(80%以上是在孵化期间由社区贡献的项目)。除了设定里程碑,增加了类似的孵化和毕业机制,进一步降低了社区参与的难度,同时更好地保证了产品质量。今天,已经毕业的几个不同语言的 SDK 项目来自大量使用和维护的用户,社区的热情甚至超越了想法。它还验证了未来的云架构是独立于语言的,甚至是无服务器的。在这一大趋势下,社区积极参与了 RocketMQ 多语言生态建设。RocketMQ 现在支持 java、cpp、python、go、nodejs,其他语言也在计划中。目前的 CPP 客户端最多可支持 8 个平台,如 CentOS、MacOS、Ubuntu 和 Windows。


RocketMQ 社区

不仅如此,越来越多的社区爱好者也自发地组织起来:他们积极地策划城市车站等类似活动,也需要 PMC 给予一些关注和鼓励。与此同时,Apache 也在思考社区是否应该有类似发布经理一样面向开发人员的角色,比如开发人员关系维护者或项目经理,以便获得更多用户的理解,更多地参与到产品中来。近年来社区的发展也给 RocketMQ 社区带来了许多新的气象,出现了越来越多的活跃开发者。在最近的大约三个月内,从 dev 电子邮件列表发送了近 2,000 封电子邮件。研究表明,中国 70%的顶级银行在核心业务链接上使用 Apache RocketMQ,大约 60%的互联网金融和保险客户在其生产环境中使用 RocketMQ,中国 20 强互联网公司中 75%广泛采用经典的 pub/sub 场景。


最近,RocketMQ 社区一直在讨论下一代消息传递平台的开发。Von Gosling 表示,RocketMQ 希望它会是一个带有轻量级数据处理平台的统一消息传递引擎,并欢迎大家参与其中,告诉 PMC 您在未来版本的 RocketMQ 中期待看到哪些功能。


2019 年 4 月 02 日 14:423712
用户头像

发布了 40 篇内容, 共 28.7 次阅读, 收获喜欢 121 次。

关注

评论

发布
暂无评论
发现更多内容

跨国区块链投资 花式“割韭菜”骗光你的钱

CECBC区块链专委会

区块链

我就不信2W字把源码拆的这么碎,你还不明白mybatis缓存

996小迁

Java 源码 架构 面试 mybatis

架构师训练营第 1 期 - 第十周总结

Todd-Lee

极客大学架构师训练营

“通证经济”实质是生产关系的变革

CECBC区块链专委会

通证经济

架构师训练营第 10 周学习总结

netspecial

极客大学架构师训练营

精心整理MySQL基本使用(数据库的操作、数据类型、MySQL的常用命令)

ShenDu_Linux

c++ MySQL 程序员 数据类型

深入浅出Spark

大数志

大数据 spark 数据科学

tcp/ip协议栈——epoll的内部实现原理

Linux服务器开发

TCP/IP 后端开发 epoll 网络协议栈 服务器开发

数字时代,如何跟上互联网医院的建设潮?

CECBC区块链专委会

数字化医疗

一张图彻底理解Spring如何解决循环依赖!!

冰河

spring aop ioc 源码解析 循环依赖

Python进阶——什么是上下文管理器?

Kaito

Python

5G矿山,工业真金,以及智能体矿井

脑极体

WSL2:我在原生的Win10玩转Linux系统

梁桂钊

五周 - 总结

水浴清风

警务大数据可视化平台建设方案,公安大数据平台搭建

13530558032

讲真,你知道Python咋来的吗?

华为云开发者社区

Java Python 编程语言 C语言 代码

架构师训练营第 1 期 - 第十周作业

Todd-Lee

极客大学架构师训练营

架构方法

raox

极客大学架构师训练营

清华大佬马士兵告诉你从阿里P5级一直学到P8架构师的成长路线+视频教程!

比伯

Java 编程 架构 面试 计算机

还搞不懂C语言中的函数指针?看完你就明白了

北游学Java

c c++ 编程语言 指针 函数

go-zero 如何扛住流量冲击(二)

Kevin Wan

go microservice

Week 1 学习总结

J

极客大学架构师训练营

白皮书丨关于工业互联网,你想知道的都在这儿

华为云开发者社区

工业互联网 华为云 白皮书 ICT 智能

Redis面试受阻?阿里P8架构师整理出的核心笔记+实战+面试题+脑图送你

比伯

Java 编程 程序员 面试 计算机

Week 10 作业

黄立

学习工作即游戏:游戏化生存的现实物语

脑极体

我是如何在五年阿里面试官的连珠炮问下三面斩获Java岗offer,最后定级P6的呢?

Java~~~

《具有算法和程序的离散数学基础》PDF免费下载

计算机与AI

算法 离散数学

iOS 项目避坑:多个分类中方法重复实现检测

iOSer

ios 项目管理 编程语言 iOS Document

数仓搬迁:从方法到实践,带你解决数据一致性对比

华为云开发者社区

数据仓库 数据 存储 数据校验 搬迁

EMAS 移动 DevOps 解决方案 —— Mobile DevOps

应用研发平台EMAS

阿里云 DevOps 运维 开发 emas

DNSPod与开源应用专场

DNSPod与开源应用专场

Apache基金会总结RocketMQ:中国70%的银行核心业务已采用,国内技术人员贡献明显增多-InfoQ