目录
上篇已介绍到ratelimiter插件,并且我们还启动给做了示例,来演示限流的原理,这篇文章我们接着介绍其它的插件。
hystrix插件
hystrix插件是网关用来对流量进行熔断的核心实现。那么熔断怎么理解?
熔断:当这个接口不可用了,然后下次掉服务的时候就不会再访问到这个节点了,然后后台还有一个程序,去实时监控这个服务节点,等他好了,你又可以访问了。简单理解就是——比方说排队买票,有3个窗口,其中一个窗口与排了很多人,然后那个售票员有事走开了,那群人不可能一直等,就去别的窗口买了,然后那个售票员回来了,会通知买票的人,这里可以买票了。
如果还想详细了解下限流,熔断,服务降级等一些概念,可以参考这篇文章:https://www.jianshu.com/p/681eec473eb4。
使用介绍:
- 在
soul-admin
--> 插件管理 -->hystrix
,设置为开启。 - 在网关的 pom.xml 文件中添加 soul-spring-boot-starter-plugin-hystrix依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
sentinel插件
sentinel插件是网关用来对流量进行限流与熔断的可选选择之一。
使用介绍:
- 在
soul-admin
--> 插件管理 -->sentinel
,设置为开启。 - 在网关的 pom.xml 文件中添加 soul-spring-boot-starter-plugin-sentinel依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
resilience4j插件
resilience4j插件也是网关用来对流量进行限流与熔断的可选选择之一。
使用介绍:
- 在
soul-admin
--> 插件管理 --> resilience4j,设置为开启。 - 在网关的 pom.xml 文件中添加 soul-spring-boot-starter-plugin-resilience4j依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
monitor插件
monitor插件是网关用来监控自身运行状态(JVM相关),请求的响应迟延,QPS、TPS等相关metrics。
使用介绍:
- 在
soul-admin
--> 插件管理 --> monitor ,设置为开启。 - 在 monitor 插件中新增以下配置
- 在网关的 pom.xml 文件中添加soul-spring-boot-starter-plugin-monitor依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
waf插件
waf插件,是网关的用来对流量实现防火墙功能的核心实现,支持两种模式,一种是black
模式,一种是mixed
模式。当 module
设置为 black
模式的时候,只有匹配的流量才会执行拒绝策略,不匹配的,直接会跳过。当 module
设置为 mixed
模式的时候,所有的流量都会通过 waf插件,针对不同的匹配流量,用户可以设置是拒绝,还是通过。
使用介绍:
- 在
soul-admin
--> 插件管理->waf
设置为开启。 - 在网关的 pom.xml 文件中添加soul-spring-boot-starter-plugin-waf依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
sign插件
sign插件是 soul网关自带的,用来对请求进行签名认证的插件。
使用介绍:
- 在
soul-admin
--> 插件管理-> sign设置为开启。 - 在网关的 pom.xml 文件中添加soul-spring-boot-starter-plugin-sign依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
rewrite插件
soul网关在对目标服务进行代理调用的时候,还容许用户使用 rewrite
插件来重写请求路径。
使用介绍:
- 在
soul-admin
--> 插件管理-> rewrite设置为开启。 - 在网关的 pom.xml 文件中添加soul-spring-boot-starter-plugin-rewrite依赖。
- soul-admin页面配置选择器和规则,如何配置,可以参考前面几篇文章。
global插件
为基础插件,global插件初始化一些基本参数,如Module,Method,RpcType等。
webclient插件
为基础插件,发起请求后端http服务的插件。
webclientresponse插件
为基础插件,处理后端http服务响应。
tars插件
tars为腾讯微服务框架,一些基本介绍可查看:https://blog.csdn.net/jiange_zh/article/details/78507590。
tars插件是soul网关将http协议
转换成tars协议
的插件。具体用法和dubbo和sofa等类似,这里不再做过多介绍。
总结
soul所有插件介绍到这里就算小告一段落了,我们跑了dubbo,divide,springcloud,divide,ratelimiter等插件的示例运行,调试了springcloud插件运行的流程,梳理了整一套插件是如何初始化,进行流量控制,并且通过插件链配合完成的,最后又梳理了介绍了下所有插件的作用以及简单介绍了插件是如何使用的,接下来我们就自定义写一个插件,然后继续阅读学习下数据同步在soul是如何实现的。