1

踩着 11 月的尾巴,Apache Pulsar 迎来了一位新 committer——郭吉伟。郭吉伟目前在 StreamNative 做 Pulsar 主项目与其周边生态的开发工作,也是 MoP(MQTT-on-Pulsar)的 maintainer。同时,他也是 Apache DolphinScheduler 的 PMC 成员。我们采访了这位拥有多重身份的开源人,与他聊一聊在 Apache Pulsar 社区的经历和感想。(以下内容采用第一人称。)

个人简介

大家好,我是郭吉伟,很荣幸成为 Apache Pulsar committer 并通过采访与大家见面。我目前在 StreamNative 做 Pulsar messaging 相关的开发工作,主攻 MoP(MQTT-on-Pulsar),也是 MoP 项目的 maintainer。

“古早” Pulsar 项目爱好者

我应该是国内很早期了解到 Pulsar 的那批人了。Pulsar 中文社区在 2019 年成立,然而我和 Pulsar 的缘分可以追溯到 2016 年。当时公司的基础架构使用的是 RocketMQ,我通过开源了解到更多的 MQ 产品,于是早在 2016 年就入门了解了 Pulsar 这个项目。

后来我加入陌陌的基础架构组。当时陌陌用 Kafka 出现了很多运维困难,比如扩缩容、异步报错等。我们调研了 Pulsar 并开始部署使用 Pulsar。在此期间我参与了多次社区 meetup,接触到了许多资深的 Pulsar 开发者与用户,让我加深了对项目、社区的了解,也奠定了后续成为“全职开源人”的基础。

全职做开源—— Pulsar 开发者

有人问我为什么加入 StreamNative 去全身心地围绕 Pulsar 投入开源。首先因为我看好 Pulsar 技术的前沿性,在云原生的潮流下,Pulsar 存储计算分离的分布式架构最符合当下企业数字化需求。

第二个原因源自 Pulsar 社区。因为前公司的系统转型,以及个人多次参加社区 meetup、直播等活动,我有幸和社区多位开发者和资深用户面对面交流,尤其在和 Pulsar 中文社区的两位领头人翟佳、李鹏辉的交谈中获益匪浅。整个社区技术氛围浓厚,和一群同样专注于技术的人交流是一件极度舒适的事情。我也受大家的信念感感染,越发认可 Pulsar 的技术和它为大数据环境下的企业带来的价值。

做开源不是搞慈善,用开源也不是薅羊毛

有人也会对我的职业产生质疑:既然开源代码是公开的,那你们不就是在做慈善、让大家免费薅羊毛吗?对于这个观点我是完全不赞同的。

从我个人经历来谈,我有幸每个就职公司所在团队的技术氛围都很浓厚,大家不仅仅是开源的用户,在使用过程中整个团队都会主动学习并且提交代码去参与、支持该开源项目。我从 2016 年开始为开源项目贡献代码,到了 2019 年,我的业余时间就都用来混迹在开源社区了。我先是参加了 Uber 开源的 uReplicator 项目,完成了 Kafka 生态的多机房迁移;然后成为了 Apache DolphinScheduler 早期项目成员,目前是该项目 PMC 成员;后来又钻研 ElasticJob,成为 ElasticJob committer;现在又当选了 Apache Pulsar committer。用开源、贡献开源可以帮助一个人快速提升技术能力,好的项目都是开源的。在开源社区,不论你的身份是开发者还是用户,都可以从伙伴以及对方身上学到很多东西。

在成为 Apache Pulsar 开发者的近半年时间里,每天和行业最前沿的开发人员、社区大佬交流,我对项目和消息领域前沿技术的领悟更加深刻了。作为一名专注于自身成长的技术人,这无疑是极大的成就感与喜悦了。伴随认知的加深,我也逐渐地可以通过自己的能力更好地为社区提供帮助,并且带动其他人参与项目与生态。目前我主要负责的 MoP 项目就有几位外部的开发者在积极带头贡献。

资深开源人带你混迹 Pulsar 社区

相对于其他的系统,Pulsar 是一个纯异步化的编程模型,这种模型在国内市场比较年轻,需要通过比较前卫、先进的思维去理解。在 Pulsar 进入大众视线之前,其他 MQ 存储模型比较简单,而 Pulsar 天生云原生、分布式的架构是一门先进的技术:存储和 broker 全是分布式,每一个环节都是分布式,都是云原生概念,理解起来有一定的门槛。

Pulsar 是一个很大的项目,门槛较高,因为虽然它跑起来容易,但用好难。大家都可以轻松地很快将整个系统运行起来,然而遇到问题后可能要纠结很长时间。因此我建议大家在接触 Pulsar 的前期看技术文档。社区有些人吐槽 Pulsar 的文档不如几个前辈项目,在我看来,Pulsar 的文档可能不适合业务人员,然而从开发和运维的角度看,Pulsar 的文档写的很棒。

然后要坚持读源码、看 issue,带着一个 issue 去了解项目,并且通过交流群里的问答去学习;如果身边有了解 Pulsar 的人,也可以就近请教大佬。现在比较好的一点是,Pulsar 也有了自己的中文书籍,方便我们来攻克这个项目。

初步的贡献可以从修复 bug 入手,比如修复 NPE、flaky test 等。Pulsar GitHub 代码仓库有很多带着 help wanted 标签的 issue,不失为第一个 Pulsar PR 好的开始。

Committer 感言

我不得不感叹一下:Pulsar 社区发展太快,进入社区的门槛越来越高了。在今年,Pulsar 社区代码活跃度已经赶超了 Kafka,我希望 Pulsar 的代码活跃度蒸蒸日上,也希望 Pulsar 也能在大家的共同努力下,成为云原生消息领域的一匹遥遥领先的黑马。

以我现在的能力,距冲击 Pulsar PMC 成员还有一段距离。我想付出更多的精力,不断优化自身的技术水平,通过 committer 的身份帮助更多的人参与 Pulsar。

加入 Apache Pulsar 社区

参与开源,可以获得公司及社区内外的认可,结交来自各个领域、志同道合的小伙伴;同时也可以提高个人影响力,促进个人发展。参与开源不是码农的专属,社区、文档等各个方面都可以让大家发挥一技之长。

作为全球性开源项目,截至目前,Apache Pulsar 已拥有近 470 名贡献者、10.0K+ Star 、2.5 K+ Fork 。我们为大家提供了参与指南,欢迎越来越多的小伙伴助力 Apache Pulsar 项目的不断发展与前进。

相关阅读

关注公众号「Apache Pulsar」,获取干货与动态

加入 Apache Pulsar 中文交流群 👇🏻


ApachePulsar
192 声望939 粉丝

Apache软件基金会顶级项目,下一代云原生分布式消息系统