Spring Cloud Alibaba 开源两年时间,已经成为了最受开发者关注、最活跃的 Spring Cloud 实现。它之所以能这么快的受到开发者的认可,一方面是它生态中的组件丰富且经过阿里 双11 验证,但更重要的还是社区中各位贡献者、广大用户的贡献和反馈。@yuhuangbin 来自六品堂教育科技,架构师负责在线书法教育平台微服务架构及其平台基础设施构建。在参与到 Spring Cloud Alibaba 社区后,贡献的 PR 数仅次于阿里团队。在上周六(2020 年 12 月 5 日)Spring Cloud Alibaba Meetup 杭州站,他正式晋升为 Committer。
以下是他的开源贡献之旅:
1. 是什么契机让你了解到 Spring Cloud Alibaba 的?
2018 年中旬的时候,项目中某业务场景涉及到了分布式事务需求,此时急需一款高效稳定的分布式事务中间件来帮我们解决在分布式场景中的事务问题,在朋友的推荐下,了解到了阿里开源分布式事务框架 Seata,由于我们项目使用的是 Cloud,在社区询问得知,Spring Cloud Alibaba 微服务一站式解决方案为 Spring Cloud 用户提供了 Seata 的无缝适配,由于对业务代码的无侵入性特性,好奇的我去 clone 了一份 Spring Cloud Alibaba 的源代码,于是开始了 Spring Cloud Alibaba 学习之旅。
2. 参与到 Spring Cloud Alibaba 的开源贡献是什么样的体验?
其实我最早参与的贡献社区是 Spring Cloud Alibaba 中的分布式事务组件 Seata,刚开始也是去熟悉 Seata 的代码以及一些使用方法,加了很多社区群,由于 Spring Cloud Alibaba 当时接触的人不是特别多,自己也经常跟社区小伙伴分享自己的使用经验,最开始提交给社区的代码是 Spring Cloud Alibaba 一系列组件的使用示例,后来被收纳入 Seata 官方示例项目工程。
也正是这次的提交代码,我被加入到了社区贡献者群,从 Seata 逐渐了解到 Spring Cloud Alibaba 其他的优秀组件,当时公司项目也在使用 Spring Cloud 技术栈,Spring Cloud Nteflix 组件在逐渐被 Spring Cloud 团队淡化,甚至部分组件宣布闭源,这让我对阿里开源的 Spring Cloud Alibaba 产生了浓厚的兴趣,从自己会用->跟别人分享使用经验->看源代码实现->参与解决社区 issue,现在还记得我提交给 Spring Cloud Alibaba 的第一个 PR 是一个 Nacos 组件的版本升级:
对没错,就是一行代码的提交,让我的 GitHub ID 出现在了 Spring Cloud Alibaba 的贡献者行列,当时很高兴地跟同事炫耀我也是 Spring Cloud Alibaba 的贡献者了,哈哈,然后我进入了 Spring Cloud Alibaba 贡献者小组讨论群,群里面有各行业领域的专家,大家在一起讨论方案、设计以及实现,前期 Spring Cloud Alibaba 社区的大佬也对我指导有加,Review 代码来给我意见建议,我觉得在参与社区的贡献过程中,我也进步了很多、学习了很多,也得益于 Spring Cloud Alibaba 社区的众多大佬,在我不懂的地方详细给我解释此处的设计,以及一些考虑。逐渐的我也主动去承担一些相对简单的开发任务,去解决一些 issue 来反哺社区。
3. 支撑你持续贡献 Spring Cloud Alibaba 最大的动力是什么?
从我刚开始接触 Spring Cloud Alibaba 到我开始参与社区开发讨论,在这个过程中,对自己的成长是显而易见的,也认识了很多大神,从最开始的一行代码提交到现在的贡献 PR 数排行仅次于阿里团队,我觉得我还是比较享受这个过程吧,或许有一种开源情怀,每当自己想到自己写的代码能够被广大的用户去了解、学习、使用,就会有一种满足感,这是程序员最简单的快乐,就像你解决了一个困扰已久的难题一样。在成为了 Spring Cloud Alibaba Committer 后,我觉得更多的在于有使命感,想让这个社区发展的越来越好,去解决用户使用过程中遇到的种种问题,真正的让 Spring Cloud Alibaba 变得更稳定,更易用,更高效的一款 Spring Cloud 一站式解决方案。
4. 贡献中最有成就感的事是什么?
从了解到熟悉再到参与贡献到最后成为 Committer,我觉得这个过程才是我觉得最有成就感的事情,刚开始没想过自己会成为一个广大用户选用的 Spring Cloud 框架的 Committer,在这个过程中经历了很多也成长了很多,也是一个从不相信自己到证明自己的一个过程。在这里我也想呼吁广大的开发者,踊跃参与 Spring Cloud Alibaba 社区,与各技术大咖近距离沟通接触,碰撞,相信也是对自己的一次提升。
5. 贡献中遇到最大的挑战是什么?
当时在引入了一个特性后,导致了一些与其他外部组件兼容性问题。后来在社区大佬们的帮助下,重新设计了功能实现方案。因为 Spring Cloud Alibaba 支持的组件比较多,使用场景也比较多所以我觉得遇到的最大挑战其实就是在功能的设计要考虑广大用户的使用场景,以及组件搭配使用的兼容适配,为了熟悉 Spring Cloud Alibaba 集成的相关组件,也迫使自己去了解更多的解决方案场景,更好的去实现功能。
6. 还有在参与 Spring Cloud Alibaba 全家桶中的其他开源项目的贡献吗?(如 Dubbo、RocektMQ、Nacos、Seata、Sentinel 等)
参与过 Seata 项目的 sql 语句解析适配的功能开发。
原文链接
本文为阿里云原创内容,未经允许不得转载。