SPI扩展
shenyu-spi 是Apache ShenYu
网关自定义的SPI
扩展实现,设计和实现原理参考了Dubbo
的 。
通过哪种方式实现服务的注册,当前支持Consul
、Etcd
、Http
、Nacos
和Zookeeper
。注册中心的扩展包括客户端和服务端,接口分别为 ShenyuServerRegisterRepository
和 ShenyuClientRegisterRepository
。
监控中心扩展
从多个服务提供方中选择一个进行调用,当前支持的算法有、Random
和 RoundRobin
,扩展接口是 LoadBalance
。
RateLimiter扩展
在RateLimiter
插件中,使用何种限流算法,当前支持Concurrent
、LeakyBucket
、SlidingWindow
和 TokenBucket
,扩展接口是 RateLimiterAlgorithm
。
条件参数扩展
在添加选择器和规则时,使用哪种条件参数,当前支持URI
、RequestMethod
、Query
、、IP
、Host
、Cookie
和 Header
,扩展接口是 ParameterData
。
在添加选择器和规则时,使用哪种条件策略,当前支持Match
、Contains
、Equals
、Groovy
、Regex
、SpEL
、TimerAfter
、TimerBefore
和Exclude
,扩展接口是 PredicateJudge
。