Soul Api网关功能需求技术选型分析
前言
最近公司中台api有用到网关的需求,特整理了下网关的基本功能以及Soul网关系统的功能架构设计,记录于此。最终选择了Soul网关系统还是因为其架构设计清晰,基于spring boot而且提供了Admin管理后台,而且底层使用spring webflux响应式编程,基于zk的本地缓存设计支持分布式多实例部署,性能问题就不无需多虑了
网关有哪些功能需求?
网关需求
- 限流 :为了保护后端服务的稳定,不被恶意的流量洪峰压垮,需要在网关层面根据实际接口业务需要控制请求流量大小
- 熔断降级 :如果下游服务处理出问题了,需要在网关层触发服务熔断策略,直接返回降级的接口内容
- 鉴权 :对所有的请求进行请求合法性,以及接口权限进行鉴定
- 白名单 :只有加入白名单的ip才能放行
- 接口负载 :当后端服务有多个实例时,网关能够根据具体的负载规则策略进行负载,并且在服务出现问题时,能够进行服务切换等基本的容错处理
- web管理台 :需要有一个web管理后台,管理如上限流、白名单等的这些策略信息,最好策略可以实施生效
业务需求
- 资源管理 :对接凯京内部所有的提供web api的系统,管理每个应用的接口url信息
- 接口调用审计(待定):针对特别的有价值的接口,需要做接口调用审计,统计每次的调用
关于Soul网关
What is the Soul?
这是一个异步的,高性能的,跨语言的,响应式的API网关。参考了Kong,Spring-Cloud-Gateway等优秀的网关后,站在巨人的肩膀上,Soul由此诞生!
Features
- 支持各种语言,无缝集成Dubbo,SpringCloud。
- 丰富的插件支持,鉴权,限流,熔断,防火墙等等。
- 网关多种规则动态配置,支持各种策略配置。
- 插件热插拔,易扩展。
- 支持集群部署,支持A/B Test。
架构图
选择Soul网关
架构清晰
Soul网关开源项目架构清晰,参考借鉴了Kong,Spring-Cloud-Gateway等优秀的网关设计,基础架构框架使用spring boot构建。在技术架构上采用了zookeeper+mysql作为元数据存储中心以支持分布式部署,通过zk节点监听机制,动态的维护了本地缓存信息,用以提高网关系统的并发度。在功能架构上分为Admin管理模块和Server服务提供模块,功能职责分离。
插件化&规则选择器设计
Soul提供了完整的插件化功能,目前在自带的插件列表中已经包含了WAF、签名、限流等常用的插件,而且像上面提到的白名单功能,实现一个白名单功能插件很简单,只需要实现一个接口或者抽象类即可。基于规则选择器的设计可以实现非常细粒度的路由控制,而且非常的灵活
基本功能全面
Soul除了基本的网关鉴权路由功能外,还提供了包括限流,URL重写,dubbo路由,spring Cloud路由,请求监控等功能,最重要的是还提供了一个前后端分离架构的Admin管理后台应用,用来管理基础的元数据信息。
码云GVP项目
Soul项目已经是码云GVP俱乐部项目,同时,作者对分布式事务也很有研究,不仅参与了TX-LCN的建设,而且自己还开源了多个分布式事务框架均已加入了GVP俱乐部。作者一直活跃在各大热门开源项目社区,我们曾就TX-LCN和Klock有过交流,作者是个技术非常牛逼的人, Soul值得一试。
结语
综上:最重要的一点是Soul基于spring boot构建,架构清晰,插件&规则选择器等设计,非常方便进行业务集成和二次开发。目前Soul网关在生产上使用的人还不多,体验使用下来小问题还是有一些的,不过这都不重要。选择一个开源的项目自主可控是最关键的一点,出现任何问题都能hold住就行了。
以上就是Soul Api网关功能需求技术选型分析的详细内容,更多关于Soul Api网关技术选型的资料请关注脚本之家其它相关文章!
相关文章
- 这篇文章主要介绍了网络知识普及之mac地址和ip地址、子网掩码和默认网关,需要的朋友可以参考下2018-01-27
- 迅时MX网关FXO口对接OM设备IP外线怎么设置呢?下面就为大家分享了MX网关FXO口对接OM设备IP外线组网链接设置方法,一起来看看了解下,以下仅供参考2017-04-06
- 这篇文章主要为大家介绍了主要分析了联网网关有哪些关键技术和它的应用方向,那我们首先得了解物联网是什么?物联网的网关又是什么?脚本之家的小编将会在本文详细介绍,需2014-09-21
- 小米路由器网关地址怎么修改?小米路由器为了提高网络安全性,想要设置网关地址,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下2018-12-16
- route命令怎么查看网关及路由信息?win7系统中想要查看网关及路由信息,该怎么查看呢?我们可以使用route命令查看,下面我们就来看看详细的教程,需要的朋友可以参考下2018-09-17
- 天翼光纤已经入户很久了,但是还是有很多朋友不会设置?也不知到路由器IP地址如何更改,路由器连接个网关192.168.1.1打不开等等等等问题。包括小编也是,今天呢小编就为大2017-10-25
- 这篇文章主要介绍了概念释疑:集线器、交换机、路由器、网桥与网关,需要的朋友可以参考下2016-12-21
- 这篇文章主要介绍了华为路由器设置网关的带宽控制(图文教程)的相关资料,需要的朋友可以参考下2016-12-06
- 最近有一些水星路由器的用户发现设置网址变天翼网关了,这个问题还是很讨厌的,下面小编就带来解决办法,快来看看吧2016-11-18
- 路由器wan端口网关未连接电脑无法上网该怎么办?出现这种问题的原因有很多,比如账号密码不对,没有设置自动湖区地址,或者是路由器的问题,今天我们就来看看怎么解决这个2016-03-07
最新评论