专访|开源之夏最佳质量奖 Apache RocketMQ Committer 黄章衡

简介: 恭喜Apache RocketMQ Committer 黄章衡同学获得开源之夏最佳质量奖,到底是什么吸引着他在开源中不断贡献呢?一起来看看黄章衡同学的人物专访吧~

随着开源之夏2022年度优秀学生名单出炉,其中Apache RocketMQ Committer 黄章衡同学获得开源之夏最佳质量奖。今天,我们也带来黄章衡同学的人物专访。

[]()

https://summer-ospp.ac.cn/#/finaltermdata/outstandinglist

[]()

1 自我介绍

黄章衡:我来自福州大学 19 级计算机系,平常喜欢研究分布式系统和数据库。我的兴趣是参与开源项目,做开源贡献,我活跃参与了多个开源项目,包括 Apache RocketMQ,SOFAJRaft 等等。

OSPP:你是从什么阶段开始参与开源的?可以跟我们分享一下最喜欢的开源项目吗?

黄章衡:我是从大二下学期 (2021.5) 开始参与开源的,最喜欢的开源项目是 RocketMQ。

OSPP:你的专业是计算机相关专业,大学期间有丰富的实践经验,也获奖颇多,有什么珍贵的经验可以跟大家分享吗?

黄章衡:参加一些竞赛可以帮助我们提高自己的团队协作能力。此外,参加竞赛最重要的是要找到合适的队友, 团队里每个队员都要各司其职。

OSPP:在专业学习的同时,你认为提高代码质量有什么学习方法和技巧吗?

黄章衡:我觉得提高代码质量的途径有很多,一方面可以通过学习开源项目的内核源码来提高代码质量,另一方面就是通过实践来提高,我们往开源社区提交代码的同时,会有很多前辈帮我们 review 代码,这是提高代码质量最快的途径。

OSPP:近年来开源概念越来越热,你认为参与开源对于计算机专业的大学生来说是必要的吗?

黄章衡:显然是非常必要的,这是一个内卷的时代,非常多的同学往 '后端' 这个方向卷,此时如果有比较多的开源贡献,会让个人的简历非常有竞争力。

2 我与开源之夏

OSPP:这已经不是你第一次参加开源之夏了,去年还获得了的突出贡献奖。当时选择参加活动的原因是什么?连续两年的参与有什么不一样的收获吗?

黄章衡:当时选择参与的原因是那时候刚好学习了 SOFAJRaft 的源码,又刚好有开源之夏的这个活动,又刚好对 '重构日志存储系统' 这个项目有比较明确的思路,这些'刚好'让我选择了参与开源之夏。如果说去年的开源活动是我的 '引路人',让我踏上了开源这条路,今年就是我个人'蓬勃发展'的时间,我参与了许多开源社区,例如 RocketMQ,Tiflash 等等,可以说我彻底爱上了开源。

[]()

https://summer-ospp.ac.cn/2021/#/org/prodetail/210170433

OSPP:请介绍一下你在 RocketMQ 社区做的项目

黄章衡:在 RocketMQ 4.5.0 版本之后,RocketMQ 提出了 DLedger 模式(Raft 模式)的部署架构,在 DLedger 模式下,利用 Raft Commitlog 代替了原来的 Commitlog 了,使得 Commmitlog 具备了选举的能力,当 Master Broker 故障后,通过内部协商,从其他的 Slave Broker 中选出新的 Master,完成主备切换,同时 Raft 的算法也保证了 Commitlog 的一致性。但是由于 Raft 能力在复制链路上也导致这样的部署架构存在一些缺点。

我们希望能将 DLedger(Raft)能力进行上移,将其作为一个选主组件 DLedger Controller,它是一个可选的、松耦合的组件,当部署 DLedger Controller 组件后,原本 Master-Slave 部署模式下 Broker 组就拥有 Failover 能力。DLedger Controller 可以选择内嵌在 NameServer 中(Nameserver 本身能力仍然是无状态的,若挂掉多数派只是无法提供选举能力),也可以独立部署。

[]()

https://summer-ospp.ac.cn/#/org/prodetail/228ad0052

[]()

OSPP:今年的开源之夏项目开发已过半,在项目进行中遇到的印象最深刻的困难是什么?如何解决的?有什么收获吗?

黄章衡:RocketMQ 社区的这个项目目前已经开发完毕了,并且合入了主分支,我也依靠这个项目成为了 Committer。我们一开始的时候设计了一份非常完善的项目方案书, 所以后续在开发的过程中并没有花费很多时间。遇到最大的问题应该是在最后的测试阶段,在网络分区的场景下遇到了比较多的 Bug,但还是一一解决了。

OSPP:通过参加开源之夏,你对开源和开源社区有新的认识吗?

黄章衡:大力发展开源社区是一个非常有意义的事情:

个人方面: 这让我们这些 '平凡' 的学生有机会接触企业级的项目,有机会能够和众多优秀的前辈交流沟通,有机会提高简历的竞争力,有机会提高个人的技术。

企业方面: 开源社区其实是提高一个项目影响力和知名度最快的途径,例如阿里云开源的 RocketMQ,PolarDB,PingCAP 开源的 TiDB 等等,现如今都是 '家喻户晓'。此外,开源社区还能可以吸引众多优秀的开发者一同参与项目的研发和改进。

3 我与Apache RocketMQ社区

OSPP:简单介绍一下目前所在的Apache RocketMQ社区

黄章衡:引用官方的原话:

Apache RocketMQ is a distributed messaging and streaming platform with low latency,high performance and reliability,trillion-level capacity and flexible scalability.

OSPP:是什么原因让你选择投身开源社区?你目前的专注的技术领域是什么?后续规划是什么?

黄章衡:为了提高个人的技术能力。我目前专注的领域是消息队列,后续会想往消息队列和数据库方向发展。

OSPP:你认为在开源社区和企业公司进行开发工作有什么不一样的地方?

黄章衡:在开源社区做开发是 '细水流长' 的,不会有 ddl,不会有 push,我们可以在个人的空余时间进行研发。此外,做开源贡献是一个非常有成就感的事情,因为我们做的项目整个社区的人都看得见~

4 收获与寄语

OSPP:你认为参与开源之夏、社区贡献对于在校生的学习专业提升和就业选择有哪些帮助?

黄章衡:帮助是非常大的,我个人觉得,简历上有一段好的开源经历抵得上一段大厂的实习经历。现在基本每个大厂都有基础架构部门,我在求职的过程中也发现,这些基础架构部门非常喜欢招有开源经历的学生。就我个人而言,学历背景没有很出众,但是也能凭借着开源经历拿到一些大厂的 offer。此外,开源社区是一个认识优秀的前辈,扩展自己人脉的最佳机会。在这个过程中,会遇到很多赏识自己的前辈的。

OSPP:之后会继续参与开源吗?计划如何更深入地参与开源?

黄章衡:我会继续参与开源社区的。今年在 RocketMQ 社区学到了很多,特别是如何深入的参与社区。参与社区并不只是提交一些代码就可以了,更重要的是花时间去 Review 其他同学提交的代码,这可以帮助我学习掌握 RocketMQ 中的不同模块,其他社区也同理。

OSPP:你想对 RocketMQ 社区的前辈说些什么呢?

黄章衡:首先是非常感谢社区前辈 给了我这次机会,让我有机会能参与 RocketMQ 这个知名项目的研发,同时也非常感谢带我做项目的金融通前辈(我的 mentor),在他的带领下,我只用了很短的时间就研发完了这个项目。此外,感谢所有帮我 review 代码的前辈。最后,希望在我们共同建设下,RocketMQ 社区的技术竞争力和影响力能够更上一层楼!

OSPP:为参与开源之夏的学弟学妹提供一些经验与建议吧

黄章衡:我觉得最重要的是敢于迈出第一步吧,身边有一些同学确实有参与开源的想法, 但是总会因为怀疑自己的能力导致最后不敢参与。我觉得,只要敢迈出第一步, 并且坚持不懈,在社区前辈的带领下,完成一个项目并不是什么难事的。

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
存储 运维 Cloud Native
Apache Doris 与 ClickHouse:运维与开源闭源对比
Doris 与 ClickHouse 各有优势,但在运维效率、集群自动化能力、故障恢复机制以及开源治理模型方面,Doris 展现出了更成熟、更开放、更面向云原生架构的产品能力。对于希望构建可控、弹性、高可用分析平台的团队而言,Doris 提供了一个更具确定性和长期价值的选择。而 ClickHouse 仍是极具性能优势的分析引擎,但其闭源方向的转变可能需要用户在技术与商业之间做出更谨慎的权衡。
685 9
Apache Doris 与 ClickHouse:运维与开源闭源对比
|
4月前
|
消息中间件 人工智能 Apache
2025 OSCAR丨与创新者同频!Apache RocketMQ 邀您共赴开源之约
10 月 28 日,阿里云高级技术专家周礼分享如何基于 Apache RocketMQ 新特性构建异步化 Multi-Agent 系统。
210 44
|
6月前
|
Java Linux Apache
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
399 5
Apache NetBeans 27 (macOS, Linux, Windows) - Java 等多语言开源跨平台 IDE
|
8月前
|
消息中间件 Apache 双11
Apache RocketMQ + “太乙” = 开源贡献新体验
Apache RocketMQ 是 Apache 顶级项目,源于阿里巴巴,历经多年双十一考验。RocketMQ 联合“太乙”平台启动开源竞赛,提供贡献价值评价与奖金激励(最高 5000 元),助力开发者成为社区核心成员。竞赛包含详尽教程与自动搭建环境,促进技术生态繁荣,推动分布式消息处理技术发展。欢迎加入,共创开源未来!
336 1
|
消息中间件 存储 Apache
恭喜 Apache RocketMQ、Apache Seata 荣获 2024 开源创新榜单“年度开源项目”
近日,以“新纪天工、开物焕彩——致敬开源的力量”为活动主题的“重大科技成就发布会(首场)”在国家科技传播中心成功举办,并隆重揭晓了 2024 开源创新榜单,旨在致敬中国开源力量,传播推广开源科技成就,营造中国开源创新生态。2024 年开源创新榜单由中国科协科学技术传播中心、中国计算机学会、中国通信学会、中国科学院软件研究所共同主办,中国开发者社区承办,以王怀民院士为首组建评审委员会,进行研讨评审,面向中国开源行业领域,遴选具有创新性、贡献度和影响力的开源项目、社区、应用场景与开源事件。在评审出的 10 个年度开源项目中,Apache RocketMQ、Apache Seata 成功入选。
472 113
|
11月前
|
Apache 数据库 开发者
喜报!Apache Seata (incubating) 荣获 2024 开源创新榜单“年度开源项目”!
12月18日,Apache Seata 在北京举行的2024开源创新榜单发布活动中荣获“年度开源项目”。该榜单由中国科协等权威机构主办,经过严格评审,Seata 凭借卓越的技术实力和社区贡献脱颖而出。Seata 是一款分布式事务解决方案,自2019年开源以来,已在GitHub收获超25.4k star,广泛应用于各领域企业,支持主流数据库和RPC框架。未来,Seata 将继续推动技术进步,共建开放、包容的社区生态。
喜报!Apache Seata (incubating) 荣获 2024 开源创新榜单“年度开源项目”!
|
11月前
|
消息中间件 存储 Apache
恭喜 Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目”
恭喜 Apache RocketMQ 荣获 2024 开源创新榜单“年度开源项目”
286 1
|
4月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
813 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
456 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
6月前
|
SQL 人工智能 数据挖掘
Apache Flink:从实时数据分析到实时AI
Apache Flink 是实时数据处理领域的核心技术,历经十年发展,已从学术项目成长为实时计算的事实标准。它在现代数据架构中发挥着关键作用,支持实时数据分析、湖仓集成及实时 AI 应用。随着 Flink 2.0 的发布,其在流式湖仓、AI 驱动决策等方面展现出强大潜力,正推动企业迈向智能化、实时化的新阶段。
805 9
Apache Flink:从实时数据分析到实时AI

推荐镜像

更多