Soul网关发布全新架构V2.2.0,让高性能网关变得如此简单( 三 )

从发布2.2.0,谈谈近几年的开源体会 。我是17年左右的时候,开始写开源项目的,最开始我和王亮一起讨论设计了LCN分布式事务,后面自己又陆续写了Hmily,Raincat,Myth等分布式事务中间件,再后来写了Soul网关,这一路走来,遇到很多很有意思的事,也遭受很多小白用户的摧残 。总的感觉,一个好的开源项目,高扩展,可插拔的设计实在太重要了 。

  • 案例一 : Soul网关刚开始数据同步只支持Zookeeper方式,有些用户反馈,我们没有zk,那怎么办?
  • 案例二 :Soul网关是支持Dubbo的,但是有些用户是alibaba-dubbo,有些用户apache-dubbo,你又怎么说?
  • 案例三 :soul刚开始提供的客户端都是基于Springboot的,有些用户是传统的Spring,你又怎么说?
所以插件化设计,SPI可插拔设计势在必行 。
SPI VS 可插拔诚然SPI扩展方式,是可插拔的基石,但是他们又不完全等同 。举个例子:假如我们先存储一条数据,你定好了SPI接口,也有Mysql,mongodb,elasticseach,zookeeper等等多种方式实现,现在你要考虑的是把它组合在一起项目里面,还是放在不同的项目,按需打包和加载呢?这些都是要考虑的,所以不能一股脑的SPI方式 。
checkStyle
  • 严格的代码规范,是对源码学习中,框架使用者的尊重,更是一种开源的态度 。
  • 严格的代码规范,让人看起来舒服,也更容易让人理解整个代码 。
  • 也希望各位小伙伴提交PR的时候,至少本地要Install成功,之前有些PR,为了不打击他们的积极性,合并之后流着泪修改 。

【Soul网关发布全新架构V2.2.0,让高性能网关变得如此简单】


推荐阅读