soul 网关


soul( https://github.com/Dromara/soul) 是一个Java语言编写的高性能,异步,基于webflux的响应式网关,整体项目结构比较清晰,目前还在维护开发,而且变化较大,项目本身也包含了一些优秀的设计,比如类似于dubbo的可扩展设计。网关采用插件化的方式对请求进行处理,插件包含:鉴权,限流,熔断,防火墙,dubbo泛化调用,负载等。 其中限流是通过redis lua脚本的方式,熔断通过Hystrix。
soul 系统的具体设计,可以参考官方文档,非常详细,这里只说一下大概的流程:

1. soul admin是网关管理后台,提供了插件,选择器,规则的配置功能, 当有数据更新后,可以通过zookeeper, websocket , http长连接,nacos方式同步给网关站点。

2. 网关站点通过watch相关数据,当有变更发生的时候,获取到最新数据。 

3. 网关采用了插件化方式,插件通过链式方式依次对符合规则的请求请求进行处理。

参考我的注解版soul  https://github.com/zhaoyb/soul

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM