写在前面:何鑫铭,前携程基础中台研发部技术专家,现蚂蚁金服支付中台基础资金平台技术组高级技术专家。专注于 Go & Java、中台架构、中间件与区块链等技术。于雨,dubbogo社区负责人,一个有十多年服务端基础架构研发经验的一线程序员,陆续改进过 Redis/Muduo/Pika/Dubbo/Dubbo-go/Sentinel-go 等知名项目。
dubbogo 项目已进入第六个年头。dubbogo 项目初期的使命就是 “bridging the gap between Java and Go” ,目前 dubbogo 已经对齐所有 dubbo 版本,正与 Dubbo 齐头并进,并在云原生方向反哺 Dubbo。参与过 dubbogo 项目跟着社区一路走来的人,有贡献者100多人,apache dubbo committer 23 人,其中PMC 5 人。
社区基础项目在 https://github.com/dubbogo
孵化成熟后即捐献到 https://github.com/apache
已经总体给 apache 组织贡献了 5 个 项目,整体代码有 17 万行之多。
首先回忆下是什么契机让你了解到 dubbogo 的?
最初了解到 dubbogo 是在携程的时候需要为公司的 go 语言内部社区寻找一个可以跟 java 生态打通的 go 语言服务框架,于是就全网找到了当时于雨贡献的dubbo-go 项目。dubbo-go 是当时唯一可以通过 hessian2 协议与 java 进行互通的项目,与我们的需求相符。
参与到 dubbogo 的开源贡献是什么样的体验?
我有幸参与到 dubbogo 1.0 版本的重构建设过程,该版本后面正式捐献给apache,感受到了于雨、北纬等这帮技术人们的坚持和热爱。在过程中收获了很多的技术也包括开源认知、协作方面的成长。对我后续从事架构和开源方面的工作有很深的影响。
支撑你持续贡献 dubbogo 最大的动力,以及给 dubbogo 做出的最大贡献是什么?
开源的动力热爱肯定是第一位的,没有热爱就做不成这件事情。
当时在参与重构1.0版本的时候,真的是工作时间和休息时间都在写代码,都在思考怎么让程序扩展性更强、性能更优化。我做的最大的贡献就是跟另一位同事,实操了1.0 版本的整个架构重构和服务框架层代码重写,以及在贡献给 apache 之后的一段时间内,参与后续版本的技术规划和组织社区活动。
贡献中遇到最大的挑战是什么,后面社区给你什么帮助?
最大的挑战其实是重构的难度和维护的压力,当时现有的一个版本离 dubbo 完善的 java 语言版本还是有很大的一块距离,dubbo 有完善的服务治理能力、与各个社区兼容的繁荣生态和非常大的用户群体,要实现与java版本的完全兼容和互通还是比较有难度的。开源之后项目有比较大的曝光,有许多公司慢慢用起来了,又有很多坑和 bug 要解决,这段时间是有比较大的压力的。
成为 PMC 后,你对 dubbogo 未来是期待是什么?
希望 dubbogo 后续在 go 语言微服务体系与云原生这条路上能走得更远,也希望有这类需求的企业和感兴趣的同学能够参与进来,希望 dubbogo 项目能对中国的 go 语言开源生态产生影响力。