logo
people
本期封面人物:肖宇

肖宇:从独立开发到进入Apache孵化器

来源:Gitee 封面人物 丨 2021-08-02

Apache ShenYu(incubating)网关创始人,dromara.org开源社区创始人。 Hmily,Raincat,Myth等分布式事务框架作者。追求写优雅代码,乐于分享和帮助他人。

本期嘉宾
肖宇 :Apache ShenYu(incubating)网关创始人,dromara.org开源社区创始人。 Hmily,Raincat,Myth等分布式事务框架作者。追求写优雅代码,乐于分享和帮助他人。

Apache ShenYu(incubating) :应用于所有微服务场景的,可扩展、高性能、响应式的 API 网关解决方案。2021年5月3日,经过 Apache Incubator 的投票,正式步入 Apache 基金会孵化器。

起步于创业项目

首先恭喜 Apache ShenYu(incubating)【原 Soul 网关】成功进入 Apache 基金会孵化器,能否简单介绍一下 Apache ShenYu(incubating) 在这三年的发展情况?

肖宇: 我是在2018年6月写下 Apache ShenYu(incubating)网关的第一行代码,刚开始基本是我一个人在维护开发,以及一些圈内朋友的公众号会帮忙发布文章去介绍项目,让更多知道这个项目。我的心态非常开放,虽然追求写优雅代码,但我也经常犯错,我希望有更多的人来改正我的错误。慢慢的,有许多社区的志愿者在了解和使用的过程中,参与了进来,改正了我的错误并提供了很多解决方案,功能也越来越完善,形成了比较好的循环。 目前有 120+ 模块,10+ 的活跃 Committer,以及 100+ 的贡献者 。在这里再次感谢每一个为项目做出贡献的人,也欢迎爱好开源的你加入我们社区。

Apache ShenYu(incubating)整体架构

Apache ShenYu(incubating)是怎么样诞生的?

肖宇: 最开始写这个项目的时候,是我和几个朋友一起在创业,那时候我们主要是想解决 http 协议转 dubbo 协议的问题,以及如何对流量进行灵活的控制的同时能够及时生效。我们最开始想参考 Kong,考虑到以后的生态,以及 Lua 语言不是我的强项,而 Java 领域 Reactor 响应式编程思想大放异彩,我又比较喜欢尝试新的东西,所以就决定基于 WebFlux 来写一个网关。

许多人对 Apache ShenYu(incubating)的名字比较感兴趣,它是怎么来的呢?

肖宇: ShenYu (神禹)是我们古代君王夏禹的尊称(后世也尊称大禹),为造福百姓,成功治理黄河水患,留下了三过家门而不入的感人故事。其和尧舜并称为中国古代最伟大的三位君王。

首先,取名为ShenYu是弘扬我们中华文明的传统美德;其次,网关最最重要的是对流量的治理;最后,社区将会以公平,公正,公开,任人唯贤的做事方式,致敬神禹的同时也非常符合Apache Way。

ShenYu 网关是通过怎样的契机进入 Apache 基金会孵化器的?

肖宇: 缘自 2018 年在深圳的一次技术峰会,我有幸认识了姜宁老师。那时候我陆续写了 Hmly,Myth 等分布式事务的框架,正打算开源 ShenYu 网关。而姜老师是 Apache 孵化器导师,通过与姜老师的交流和交谈过程中,学习到了什么是 Apache Way,以及如何通过 Apache Way 运营开源项目,构建开放治理的社区。

在 ShenYu 项目中,我借鉴 Apache Way 的思路,发展到现在积累了越来越多的贡献者与用户,在与社区大多数的提交者和贡献者交流后,达成一致,把项目捐献给 Apache 基金会,走上正规的 Apache Way 就是我们往后需要走的路。随后我们联系到姜宁老师(Apache Member),给我们做引路人兼导师。又联系了孙金城老师(Apache Member),张铎老师(Apache Member)给项目当导师,在导师耐心的指导和热心的帮助下,完成了孵化器提案,孵化器讨论,孵化器投票等流程,顺利进入 Apache 孵化器。

Apache ShenYu(incubating)进入 Apache 孵化器的投票结果

目前已经有不少企业在使用 Apache ShenYu(incubating)了,你认为它适合哪里企业和场景?

肖宇: 目前微服务业务架构是主流,Apache ShenYu(incubating)非常适合做微服务的业务网关,它本身提供了非常多的微服务组件,与主流的 RPC 框架结合的比较好,也有对流量完全掌控的可视化控制台,非常适合复杂的业务场景。 其次它非常适合做多语言多协议的转换。

进入 Apache 基金会孵化器后, Apache ShenYu(incubating)未来的发展路线将会是怎样的?

肖宇: 社区应该遵循 Apache Way 的方式去运作,构建一个开放治理的社区环境,并提供轻量级,高性能,功能强大的 API 网关解决方案,去帮助更多的企业与用户。 同时也期待它能够顺利的从 Apache 孵化器毕业成为 Apache 顶级项目。

应当把开源项目当成一个礼物

除了 Apache ShenYu(incubating)网关,你还是多个 GVP 项目的作者,为什么这么热爱开源?

肖宇: 我刚开始接触开源,是因为同事有一个开源项目(微信工具类,200 多星),它帮助了另一个开发者,并收到了一袋辣条的感谢。我当时就觉得这是一件非常酷,非常好玩的事情。后面我开源了 Hmily,Riancat 等分布式事务框架,就是想帮助更多的人,当他们系统遇到像我遇到的问题的时候,可以快速的解决。

现在,我慢慢体会到, 开源项目,你应当把它当成一个礼物 ,是免费赠送给所有人的。那是什么样的人,能够去送礼物呢? 首先你是一个有礼物的人(状态不会太差的人),其次是你自愿赠送给别人的。期待看到国内更多有礼物的,自愿赠送礼物的人出现。

你应该也同意,做开源,社区的力量是无比重要的,你对「社区」是如何理解的?开源项目应该如何去打造一个社区并发挥其力量呢?

肖宇: 我理解的社区,是一个平等,和谐环境。在这里有一群热心的人,为了同一个目标,朝着同一个方向去前进。 每一个人都有自己的优点和缺点,就算是源代码的作者,也会犯很多错误,写很多 Bug。但是这些都没关系,只需要放平自己的心态,虚心接受不同人的不同意见,可以有争论,但是最终要达成一致。社区的力量是无比强大的,只要有人,问题就会被解决。

我们知道你还是 Dromara 开源社区的创始人,Dromara 的名字是怎么来的?Dromara 开源社区是如何运营的?你对它的构想是怎样的?

肖宇: 首先 Dromara 是爱尔兰一个风景优美的小乡村的名称,其次我比较喜欢草原,而草原上的姑娘叫卓玛拉,一结合名字就诞生了。

Dromara 开源社区的 Gitee 主页

目前 Dromara 社区有 9 个 GVP 项目,和一些 Star 数量很高的项目。我们是一群爱好开源,乐于帮助别人的群体,每一个项目,都由项目的作者/Committers 去运营自己的社区,我只是竖起来一个良好开源氛围的旗帜,也希望其他的开源作者和爱好者,能够加入到这个大家庭。谈不上有什么构想,只是希望组织能够提供非常多、非常好的解决方案,去帮助到更多的人。

当在低谷的时候,要不断的学习

我们了解到你目前在上班,那你是如何处理本职工作和做开源之间的平衡的呢?

肖宇: 本职工作做好是前提,毕竟还是得吃饭。工作效率一定要高,这样在工作之余,就可以投入时间去开发维护开源项目。

如果让你为开发者们推荐一本书,你会推荐什么?为什么?

肖宇: 我不能说推荐哪一本,按照我个人经验,你应该学习对你目前的技术有帮助的书籍,要博学善思,学以致用。你在书上学到的,最好能够用在你的工作上,这是最完美的。千万不要买那种书里面全是贴代码的, 看书是让你学习原理,而不是复制里面的代码

除了写代码,平常还有什么特别的爱好呢?为什么叫你猫大人呢?

肖宇: 我的爱好广,会玩各种棋牌,球类。最爱的还是电竞,也是前英雄联盟王者段位选手。现在和开源社区的朋友打打王者荣耀。我本身喜欢小动物,尤其是萌的很可爱猫咪,有一次进群,实在不知道叫什么名字,就把群名改成了猫大人,然后大家一直都是这么称呼。目前我在家也养了 2 只小猫咪,当你晚上在家写代码的时候,猫咪会一直陪着你,那种感觉很好。

肖宇的猫咪之一——布丁

一路走过来作为开源老兵,有什么想对新人说的吗?

肖宇: 我相信大部分人的起点比我高。当在低谷的时候,要不断的学习,去积累自己的知识,现在的环境真的很开放,一定要多去参与一些好的开源项目,你在开源项目里面可以学到非常好的设计模式,良好的代码风格,接触到现公司永远不可能使用的技术栈,认识一大帮朋友,都是对自身巨大的提升。

封面人物小档案

  • 人物:肖宇
  • 专业:计算机
  • 坐标:北京
  • 奖项:4 个开源项目获得 GVP
  • 爱好:篮球
文章内容为受采访者独立观点,不代表官方立场。
本文版权属Gitee.com 所有,转载或内容合作请联系 git@oschina.cn , 未经授权不得转载、摘编或利用其它方式使用本文内容。违反上述声明者,将追究其相关法律责任。
bg

你可能感兴趣的封面人物

查看全部
发布评论前,请先 登录
精彩评论 ( 23 )

搜索帮助