本期名人堂我们有幸邀请到了Apache ShenYu项目及Dromara开源组织的创始人肖宇老师。肖宇老师与我们分享了Apache ShenYu 项目成立的初衷、解决的问题、核心特色以及未来规划,同时也为想加入开源行列的技术人员给出了几点建议。
您好,肖宇老师!很荣幸有机会采访到您,先简单介绍一下您自己?
肖宇:大家好,我是来自 Apache ShenYu项目及Dromara开源组织的创始人肖宇.
2017年,我写了一个分布式事务的框架Hmily,一经开源,受到大量开发者关注。随后开源了Soul网关,并创立Dromara开源组织。
目前dromara组织旗下的项目涵盖分布式事务,日志,流行工具,企业级认证,微服务RPC,运维监控,Agent监控,调度编排等数十个互联网技术领域。
构建了数万人的开源社区,有成千上万的个人及团队在使用Dromara社区的开源项目。
2021年,我主导将Dromara 社区的soul网关项目捐献给了Apache 基金会,随后项目改名成为Apache ShenYu。
经过一年时间的Apache Way方式运营,于今年7月毕业成为Apache 项目。
您在2018年创立了Apache ShenYu,是什么契机促使您做了这个决定呢?
肖宇:开始写这个项目的时候,是我和几个朋友一起在创业,那时候我们主要是想解决 http 协议转 dubbo 协议,以及如何可以对流量进行灵活控制的同时还能及时生效的问题。我们开始想参考 Kong,考虑到以后的生态,以及 Lua 语言不是我的强项,而 Java 领域 Reactor 响应式编程思想大放异彩,我又比较喜欢尝试新的东西,所以就决定基于 WebFlux 来写一个网关。
Apache ShenYu的核心产品以及产品特性是什么?为何能获得业内广泛关注和用户的高度好评?
肖宇:Apache ShenYu作为一款网关,它的定位就是东西、南北流量融合,全生命周期的API网关。它有着可视化的动态复杂流量的管控平台,同时也有非常丰富的插件生态,对API治理,多语言,多协议转换,运维部署等功能,提供了开箱即用。能获得业内广泛关注和用户的高度好评,我觉得有几个方面:
首先,我们作为一个Apache 项目,始终坚持Apache Way的方式去进行项目迭代、开发和运营社区。
比如,我们社区会每2周开一次全体成员的社区治理会议,在会上大家可以畅所欲言,提出自己的问题,大家会一起讨论得出可行的方案,后以邮件的形式进行存档。
其次是项目的产品定位,在目前微服务、企业化数字转型中,网关几乎成了企业必不可少的核心组件,而Apache ShenYu作为一款使用Java语言开发的API网关,提供了丰富的功能,能够满足大部分企业用户的需求。
后是项目的架构设计以及代码规范,Apache ShenYu有着许多可插拔、高扩展的API和SPI设计。用户可以灵活的扩展以满足自身的需求,其次 Apache ShenYu 的代码十分规范且优雅,让人能够很容易的明白其底层原理。
Apache ShenYu的下一步规划是什么?
肖宇:Apache ShenYu要做的事情非常多,但是下一步重要的是提供完整的API全生命周期的管理功能,以及与云原生生态的整合,比如对接K8S的Ingress。
您对未来网关领域的市场前景是否看好?有哪些建议吗?
肖宇:南北向流量网关是企业流量入口,东西向流量是企业微服务化必不可少的核心组件。而目前并没有一个强大且又统一的产品,这块的市场前景非常大。
建议的话,我认为还是要深耕自身的产品建设,打磨出一款功能强大、简单易用的产品,为企业的降本增效提供帮助。
如何理解国内开源生态链,有什么关于开源方向的意见和建议吗?
肖宇:目前国内的开源还处于发展阶段,只是近些年来有了明显的加速。对于企业雇主,我希望格局放大,跟随国家的相关政策,认识到开源的积极作用,以及对我国的技术发展所带来的帮助。对于开源作者和贡献者,要保持初心,把开源当做一种礼物,回赠给社会与技术界,为解决问题帮助他人而感到快乐。
对于开源用户,希望对项目多一些包容,以积极的心态发现问题,交流、解决问题,共同建设开源社区。
在开源实战中,印象深的事情是什么?
肖宇:在我的开源生涯中有趣的事情非常多,印象深刻的也很多。难忘的还属在开源过程中收获的友情,经常会因一个问题或功能点,可以在深夜里,秉烛夜谈;有时也会因一个BUG,一群人通宵达旦解决BUG;一群志趣相投的开源爱好者后都成了非常要好的铁哥们。
您对技术人员未来职业路线选择是否有一些好的意见和建议?
肖宇:我刚毕业的时候,走了不少的弯路,后来有位老师说的两句话,对我帮助非常大,句:“你奋斗一年,才可能是一个新的起点”。可能很多技术人员,一开始的路都非常不顺,或者当下做着自己不喜欢的事情,我们能做的就是积极的去改变它。
还有一句话是:“你下班的时间在干嘛,决定你未来的路就在哪里”。我们需要把自己的时间花在自己的职业规划上,可以去看很多技术类的书籍,提升自身的认知与眼界,可以去写技术类的博客,进行自身技术的积累。更可以去参与开源,感受帮助他人的快乐,结交更多的朋友,为往圣继绝学!