作者 | 邹部长 (于雨)
dubbogo 概览
dubbogo 项目已进入第六个年头。dubbogo 项目初期的使命就是 "Bridging the gap between Java and Go"。目前 dubbogo 已经对齐所有 dubbo 版本,正与 Dubbo 齐头并进,并在云原生方向反哺 Dubbo。
- 项目地址:https://github.com/apache/dubbo-go
- Contributer:100+
- Comitter:23
- PMC:5
- 代码行数:17万+
- Apache 贡献度:到目前为止已经成功地贡献了 5 个 项目
接下来将陆续采访社区的 PMC/Committer,回首各位同学加入社区时的初心,回忆在社区成长的点点滴滴,以照亮未来社区其他同学的前行路。
本期采访的是我们的 PMC 部长同学。
社区评价
要说 dubbogo 社区活跃度最高的人,邹部长一定位列前茅,如果说社区有搞不定的问题,找部长是最靠谱的。
- 2020 年初提名 dubbogo committer
- 2020年10月份提名 dubbgo PMC。dubbo 主席北纬有感于部长贡献巨大,亲自出面提名
- 作为项目发版人,分别主持过 1.4.x ~ 1.5.x 的发布
- 2020.7 在 Go 夜读第 95 期分享《Dubbo-go 的成长与蜕变之路》
- 2020.8 受邀在 Giac 大会分享《Dubbo-go:云原生时代的 Dubbo》
- 2021.1 受邀成为 Spring Cloud Alibaba Meetup 广州站嘉宾演讲
部长为人比较谦虚,低调,拥有着扎实的技术影响力。成为 PMC 的部长依然身体力行影响着 dubbogo 社区,引导着 dubbogo 往正确的道路上继续前进。
采访环节
1. 首先介绍下自己,回忆下是什么契机让你了解到 dubbogo 的?
社区人称部长,十多年技术小兵,爱好开源。
在 2019 年时,dubbo-go 刚成立不久,很多功能与 dubbo 相差甚远,除了基础的 RPC 与服务治理功能之外,很多扩展功能都没有。于雨正在寻找 dubbo-go 支持远程配置中心的功能。通过何鑫铭(现 Dubbo PMC)了解到我对这方面有独特的解决方案。于是在 2019 年 10 月一个下班的晚上,通过微信联系到我,询问是否有兴趣参加该项目,通了一个 10 分钟的电话。鉴于在此前公司选型时,没有一个可以在 golang 上能直接与 dubbo 互通的 SDK ,导致在公司有多语言时,选取 dubbo 作为微服务框架,需要投入巨大成本。而我经历过这种痛苦的时刻,就毫不犹豫就答应加入。此后,则推动多个版本落地,并见证了社区人数从 200 人到 2000多人,多个子项目孵化并捐赠给 apache,多个历史时刻。
2. 参与到 dubbogo 的开源贡献是什么样的体验?
其实开源与公司项目有很大区别,在参与开源贡献过程中,让我学习到了沟通在其中至关重要的作用。而在 apache way 中也强调过社区的重要性,而社区就是鼓励大家多沟通,多发表意见并非一言堂。其中让我学会了如何尊重及听取其他人的意见,也能学习到对同一个问题如何通过不同角度提出解决方案,对我来说是一个十分重要的人生经历。
3. 支撑你持续贡献 dubbogo 最大的动力,以及给 dubbogo 做出的最大贡献是什么?
支撑我持续贡献的最大动力只有一个:就是为 dubbo 打通 golang 体系的隔阂,让 dubbo 在多语言微服务框架中占有一席之地,这也是我当初加入该项目的原因。
回顾我为 dubbo-go 的的贡献,自己也差不多记不清楚有多少了。但是对于我来说,最重要的贡献应该是建立版本管理流程,并通过自动化测试工具,降低其的巨大工作量。在刚加入项目组的时候,发版是一个人人闻其色变的工作。定好的发版时间,延期是常态、发布的功能需要一个个手工进行用例回归。在经历了几个小版本发布后,我发现了其中的问题点在于:
- 延期常态:在于规划版本时,没有定好版本功能范围。也没有跟参与的同学定好时间节点,也没有定期跟踪。
- 手工用例回归:堆在发版前一刻,发布负责人需要通过手工 1-2 天一个个用例对新版本代码进行功能回归。
没有一个自动化的测试用例工具进行持续集成,将问题提前暴露,永远都是堆在发版前才暴露,导致开发者满意度很低。通过明确版本负责人角色及工作内容,将其制作成通用版本管理流程,大幅降低版本延期概率。同时,将测试用例回归加入自动化 CI 流水线,能将问题在开发阶段提前暴露,大幅减少发布负责人的投入时间,让最后的发布流程更加顺畅。
4. 贡献中遇到最大的挑战是什么,后面社区给你什么帮助?
在参与 dubbo-go 的过程中,因团队成员来自全国甚至世界各地,协作成为其最大的挑战。而社区能帮我凝聚人心,在开源项目推进过程中十分有帮助,特别感谢北纬、于雨以及各位 PMC 的鼎力相助。
5. 成为 PMC 后,你对 dubbogo 未来是期待是什么?
目前在我看来,dubbo-go 的用户体验还是不足。对其未来希望是更加着重用户体验,使初级用户更加容易上手。坚持以打通 dubbo 在 golang 体系为核心,同时提高其底层功能的安全与稳定性,未来肯定会发展的越来越好。
6. 还有在参与 dubbo/dubbogo 社区或者其他阿里开源社区中的其他开源项目吗?
目前主要在参与 dubbo-go 和 dubbo,因家庭与时间关系未能参与其他项目。
人物小写
邹部长,某电商公司任职资深软件工程师。从事服务端开发工作十多年,做过后端研发,也做过业务架构。擅长多语言微服务技术体系以及电商业务系统研发。Apache Dubbo 与 apollo PMC,曾参与过多个知名开源项目,Apache Dubbo、Apache Dubbo-go、apollo、MOSN 等。