A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)
sentinel-apache-dubbo-adapter
(#1124)SentinelConfig.statisticMaxRt()
to avoid implicit dependency chain (#1173)sentinel-transport-simple-http
module (#1207)@AuthAction
annotation support (#1042)SentinelApiClient
to support non-ASCII characters (#1207)Thanks for the contributors: @agensi, @CodingSinger, @fangwentong, @hongjiev, @kaizi2009, @lkxiaolou, @nick-tan, @zhaoyuguang, @zhenxianyimeng
In this version, Sentinel provides an Envoy Global RLS implementation using Sentinel token server, so that Envoy service mesh could leverage the distributed flow control capability of Sentinel. See here for details.
Since 1.7.0, Sentinel supports configuration via arbitrary properties files. We could set the path of the properties file with the -Dcsp.sentinel.config.file
property item. See here for more details.
SphU.entry(method)
is incorrect (#1078)Thanks for the contributors: @aq0706, @ballenwen, @cat-coco, @chenledong, @CodingSinger, @complone, @cookiejoo, @fangjian0423, @HaojunRen, @huangxfchn, @lhl4546, @linlinisme, @lkxiaolou, @wangybgit, @wavesZh, @ycx627954927, @zhangyide, @zhaoyuguang, @0704681032
This version provides entire support for managing API gateway flow rules and customized API groups in Sentinel dashboard.
Ordered
interface support for Spring Cloud Gateway filter (#937)GatewayParamParser
(#937)Thanks for the contributors: @cdfive, @Crazy10552, @jasonjoo2010, @linlinisme, @lym-ifae
sentinel-transport-netty-http
module (#817)ParamFlowChecker
(#838)ParamFlowSlot
and improve ParamFlowRuleUtil
SentinelConfig.loadProps()
thread-safe using CopyOnWriteArraySet
(#706)getCpuUsageThreshold()
method in SystemRuleManager (#770)SentinelReactorSubscriber
ZuulBlockFallbackProvider
(#737)Thanks for the contributors: @haofangyuan, @jasonjoo2010, @kexianjun, @threedr3am, @yikangfeng, @yinjihuan
In 1.6.0, we refactored the statistic and flow control algorithm of parameter flow control. The old mechanism (LRU map + sliding window for the parameter) has been replaced by an algorithm like token bucket. Now parameter flow rule supports setting statistic interval (intervalSec
), burst count (burst
), traffic shaping mode (controlBehavior
, currently supports default mode and throttling mode).
We've refactored and improved fallback support for @SentinelResource
annotation to make it more understandable and common. See the document for more information.
Since 1.6.0, all API gateway adapter will be based on the sentinel-api-gateway-adapter-common
module. There are some changes for Sentinel Zuul Adapter. In previous versions, the adapter will mark all serviceId
and API path as resources. Since 1.6.0, the adapter will regard all route ID (aka. proxy
) and customized API groups (defined in API gateway common module) as resources.
sentinel-api-gateway-adapter-common
module for universal gateway rule and API definition management@SentinelResource
annotation (#693)sentinel-transport-netty-http
and sentinel-transport-simple-http
(#620)@SpiOrder
annotation and improve SPI loader to support loading SPI with highest precedenceexceptionsToIgnore
configuration support in @SentinelResource
annotation (#683)appType
property field in SentinelConfig (#696)SphU.entry()
and paramIdx is negative (#642)SentinelApiClient
(#620)Thanks for the contributors: @cdfive, @dqing0, @jasonjoo2010, @luoxn28, @paulkennethkent, @shxz130, @yikangfeng, @zhaixiaoxiang
This version provides some bug fixes and enhancements.
@SentinelResource
annotation (#543)Error
in InitExecutor and LogBase (#613)sentinel-apache-dubbo-adapter
for Apache Dubbo 2.7.x and above (#619)ApolloDataSource
(#593)Env
static initialization (#610)SentinelResourceAspect
Thanks for the contributors: @blindpirate, @beston123, @cdfive, @lawrencewu, @zhousiliang163
Since 1.5.0, the minimum JDK version has been updated to 1.7. JDK 1.6 is no longer supported.
There are some changes in Node
interface: the return type of xxxQps
methods (e.g. passQps
, blockQps
) has been changed from long
to double
to be more accurate.
In 1.5.0 we added common occupy mechanism in LeapArray
so that Sentinel can occupy future buckets of the sliding window to support "final pass for prioritized requests when QPS exceeds the threshold". The Sph.entryWithPriority(xxx)
method will take effect now in local flow control mode.
Sph.entryWithPriority(xxx)
sentinel-datasource-extension
)Thanks for the contributors: @all4you, @ATAXGT, @cdfive, @HaojunRen, @hantianwei, @jasonjoo2010, @MickMo, @mjaow, @nick-tan, @xburning, @yikangfeng, @yklove
Tracer
sentinel-cluster-server-default
and add basic test casessentinel-annotation-aspectj
modulecom.taobao.*
to com.alibaba.*
(#435)Thanks for the contributors: @aalmiray, @all4you, @Arlmls, @cdfive, @jz0630, @kangyl, @kexianjun, @Leishunyu, @luoxn28, @mjaow, @pig4cloud, @tigerMoon, @wangjunwei87, @yanlinly
This is a milestone version that provides enhancements for cluster flow control.
TIME_DROP_VALVE
configurable (#292, @cdfive)sentinel-transport
related modulesentinel-transport-netty-http
module (#321, @cdfive)FlowRuleApiPublisher
of Sentinel dashboard (#353, @foreveryang321)Thanks for the contributors: @allencloud, @canglang1973, @cdfive, @fangjian0423, @foreveryang321, @jz0630, @YoungHu