前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache RocketMQ 社区创建和协同创新的故事 | 赢在Apache系列

Apache RocketMQ 社区创建和协同创新的故事 | 赢在Apache系列

作者头像
开源社
发布2019-05-29 00:54:32
7770
发布2019-05-29 00:54:32
举报
文章被收录于专栏:开源社开源社

喜欢我就关注我吧

序-赢在 Apache 系列

‍‍‍精英制、慈善机构、纯粹的个人志愿者、至今仍然是一个虚拟组织、拥有超过 350 个开源项目、有 3255 个提交者为 Apache 的项目做出了贡献......

Apache 的项目支撑了大半个互联网,Hadoop 及其周边的软件项目构成了整个的大数据生态、更加不用提运行在无数服务器中的底层程序库了。

Apache 协议对商业友好,不受任何限制的使用其软件项目。它同样也酝酿了很多的故事,有参与贡献的快乐、有开放的创新精神、有多样性带来思想碰撞、也有社区共识原则的感慨、也有社区参与与现实的平衡、更加有改变世界的美好。

让我们来看看 Apache 人,讲述他们自己个人的故事,每一个故事都有不同,但主题无疑是:Apache 无可置疑的影响着我们的数字世界!

作者:冯嘉

译者:Elsa,编辑:舒敏&EE

去年,我曾经撰写了一篇关于 非英语系国家的社区是如何理解并使用 Apache way 进行开放式创新 的博客。在那篇文章里,我表达了作为一名开发者的期待,即能够熟练地使用邮件列表功能,认真倾听社区的声音,再做出决策。此外,开源社区也可以多开展类似“ GSoC ”这样的编程活动,以帮助开发者更了解社区的开发流程,同时为开发者加入社区提供了鼓励和帮助。之后我一直在想是否能够通过更生动形象的案例,为大家带来更多精彩的分享。今天,我非常荣幸能在即将到来的 ASF 周年庆典上与社区分享一些有关 Apache RocketMQ 社区创建和协同创新的故事。

进击的 RocketMQ 社区

自2016年加入 Apache Incubator 以来, Apache Way 极大地帮助了 Apache RocketMQ 发展其社区。Apache RocketMQ 最初是被用在电商交易核心链路中的分布式消息传递引擎,每天承担了许多公司万亿级的信息传输与流转,可以说是一款非常适合大规模分布式场景下的高吞吐,低延迟的消息传送系统。为了帮助大家更好地了解消息引擎,Linux 基金会在标准的消息开放传递项目上也提供了一个通用的基准测试平台。当然,作为一款广受欢迎的消息产品,在功能设置上,RocketMQ 提供了同时“接收”和“推送”两种服务,并支持消息预定,定时发送,批量处理,消息传播并过滤等功能。尽管其几乎可以适用于所有典型事件响应或消息通讯场景,但不可否认,其仍有些许核心功能没有被开发。

去年, RocketMQ 社区曾发布了三个吸睛的特性:事务消息,消息轨迹和安全认证。其中“事务消息”这一功能是一个由来自金融业的个体倡导并贡献的,成功实现了保证“发送者”和“本地业务操作”之间的事务一致性,非常具有价值和意义。基于“事务消息”,或许我们还可以构建一个适合于长期运行的微服务的全栈分布式事务平台,并开发给社区,以供有需要的朋友研发。而另外两个由社区提交的 RIP 研发功能——消息轨迹和消息认证,地位同样不可忽视。

Apache RocketMQ 交流研讨会

在消息传送的企业小程序中,一直都有一个比较棘手的问题:“我的消息到底发送到了哪里?如果发送失败,我如何才能找到消息轨迹?”这是个较难以解决的任务,特别是当我们提供云发布和订阅服务的时候,因为消息传递不是一个同步的解耦过程,理所当然,开发端的上游和下游互不相关。幸运的是,中国移动研究所曾在 Apache RocketMQ 交流会上认识了项目管理委员会成员,并提及了他们遇到的麻烦。 因此,我们向他们展示了来自社区的最新 RIP 计划,这对于 Apache RocketMQ 内部代码来说是一个非常具有挑战性的进步。在项目管理委员会的帮助下,RIP 被提出、讨论和最终被认可接纳。 经过充分的酝酿和准备后,我们开始对其进行了设计和编码,并交换各自对于代码实现的看法,期间多次举办交流会以讨论和审查该代码特效,直至它被在线验证并发布。有趣的是在评审过程中,社区的另一个云供应商也加入了进来,经过简单交谈后,原始的实施方案被优化,从而使得其与实施方式更相兼容。 我们很高兴地看到,在社区里,两个云供应商在生产过程中就已经完成了新版本的验证。ACL 特性,也是在项目管理委员会和社区持续协作的过程,才发布了 RIP 的最终版本。

通过交流研讨会,我们可以收集需求,然后公开讨论,再加上 Zoom 视频沟通,RocketMQ 社区在去年就发布了多个重要的版本。同时,为了更好地促进生态繁荣,我们对 Apache RocketMQ 外部存储库下的几个项目进行了重新组织(80%以上项目由社区在孵化期间作出了贡献)。 除了在设置领域取得里程碑进展,我们还增加了类似的“孵化”和“毕业”机制,进一步降低了社区参与的门槛,同时更好地保证了产品质量。 时至今日,许多已毕业的语言不同的 SDK 项目都是得益于庞大用户的使用和贡献而形成的。公众的热情完全超乎想象,它还验证了未来的云体系结构是无关语言差异,甚至是无关服务器差别的。在这一趋势引领下,社会各界人士积极参与了 RocketMQ 多语言生态建设。RocketMQ 现在不仅支持Java 、CPP 、Python 、Go 、Nodejs ,还支持其他语言。当前的CPP 客户端甚至可以支持多达8个平台,例如可在 CentOS 、MacOS 、Ubuntu 和 Windows 上运行。

来自社区的开发人员

不仅如此,越来越多的社区爱好者也自发地开展了自我组织:他们也在积极规划类似“城市车站”活动,但也仍需要得到一些 PMCs 的重视和鼓励。同时,这也促使我们思考 Apache 社区是否应该有一个面向开发人员的管理者角色,比如——开发人员关系维护者和项目经理,以便让更多的用户了解并更参与到产品开发中。

近年来,社区发展也给 RocketMQ 社区注入许多新鲜血液,社区涌入越来越活跃的开发人员。仅仅三个月,开发人员的电子邮件列表中就发送了近2000封电子邮件。 数据表明,中国70%的银行总部在核心业务上使用着 Apache RocketMQ ,约60%的互联网金融和保险客户使用着 RocketMQ ,覆盖率在中国排名前20的互联网公司中也高达75%。

RocketMQ 社区最近一直在探讨关于新一代信息流平台的研发,我们希望它将成为一个具有轻量级数据处理平台的统一消息传递引擎,同时也非常欢迎大家参与进来,告诉 PMC 您最期待在 RocketMQ 的最新版本中看到的哪些功能。

感谢 Apache Way

感谢 Apache 软件基金会的开放与包容文化,从而帮助 RocketMQ 构建了一个广阔而多元的社区

Apache 软件基金会的二十周年庆即将到来,在此代表 RocketMQ 社区预祝 ASF :二十周年快乐,愿 ASF 一如既往,继往开来!

作者简介:

冯嘉是阿里巴巴集团中间件技术的高级技术专家。他拥有丰富的行业软件开发经验, 特别是在分布式技术、高性能 Web 网站结构,全栈性能优化方面。他在分布式系统,推荐等领域拥有许多国内外专利。 经常在世界各地的开源和架构师峰会上发表主题演讲, 包括 ApacheCon,Linuxcon 和 QCon。他是第十和第十六届中日韩开放源码软件奖获得者,也是 Apache RocketMQ 最初的联合创始人和 Linux OpenMessaging 标准的发起者和负责人。

点击阅读原文进入英文博客

“赢在Apache”是一个按月更新的博客系列,

重点关注 ASF 如此高效运转背后的故事。

点击“阅读原文”

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档