内容简介:Soul网关是我在任职某大型电商公司中间件技术部的时候所开发的。开源以后,针对不同的用户需求,进行了功能的升级,比如 支持了首先我们调研了市场上的一些API网关
本文转载自:https://mp.weixin.qq.com/s/92TFLGy_q1e15W3kwtiSWw,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。
Soul网关由来?
Soul网关是我在任职某大型电商公司中间件技术部的时候所开发的。开源以后,针对不同的用户需求,进行了功能的升级,比如 支持了 springcloud
websocket
restful风格
get请求
,插件可以定制化开发等等,感谢开源。
当时我们面对什么问题呢?
-
首先公司有很多语言,java,net,php,Python等等,相互之间的交互只能通过http,调用很不统一,尤其是 java 为主以后,php等语言要调用dubbo服务,dubbo服务者必须提供http服务出来,增加了java后端人员的工作量。
-
接口鉴权,限流,代理等等很多基本的需求,如果由每个业务系统开发人员开发,增加了成本,风险不可控。
-
所有的配置没有统一化的管理页面,不利于管理。
-
接口的性能没有监控,不利于横向扩展。
-
业务系统进行灰度发布,需要运维进行 nginx 负载,增加了运维的工作量。
-
等等很多很多的因素,我们需要一个可配置的,可视化,高性能的API网关,做为公司的公用服务。
当时我们怎么解决的呢?
首先我们调研了市场上的一些API网关 zuul
kong
sc-gateway
-
zuul
是一个中间件产品,完全可以由业务系统自己去引入,性能没达到我们的预期,没有动态化的配置,不利于管理,和我们中间件技术部好像没啥关系。 -
kong
kong确实是好,好到它的某些功能是收费的,而且它是