A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)
Thanks for all contributors: @sczyh30, @wuwen5, @xiaozzzi, @EzrealOf, @wilsonwu, @kirklin, @garroshh, @JosephZhang3, @LiYangSir, @Yan1025, @wenshao, @pandaapo, @frank-zsy, @z521598, @LearningGp, @robberphex, @clara0, @karl-sy, @SaaiVenkat
This is the first preview version of nouveau Sentinel 2.0, bringing the building blocks and basic implementation of traffic routing and load balancing.
LogSlot#entry
when recording rule ID (#2980)This release ships with a few enhancements and bug fixes.
Furthermore, Sentinel OpenSergo data-source has been beta-available (com.alibaba.csp:sentinel-datasource-opensergo:0.1.0-beta
), which enables developers to configure Sentinel rules with OpenSergo fault-tolerance CRD in a unified way (under Kubernetes, with OpenSergo control plane).
id
field in Rule entity and record rule ID in block log (#2853)SpiLoader#closeResources
may not record the exception when error occurs (#2890)Thanks for all contributors: @AlbumenJ, @hongpy, @icodening, @PepoRobert, @sczyh30, @ZhongJinHacker
1.2.83_noneautotype
Thanks for all contributors: @AlbumenJ, @benyamin2014, @icodening, @jgzl, @sczyh30, @zuohl
GatewayRuleManager#isValidRule
(#2609)ConnectionGroup#connectionSet
to avoid iterator fast-fail (#2559)sentinel-datasource-nacos
Thanks for all contributors: @brotherlu-xcq, @code-ferry, @DollarB, @howiekang, @icodening, @Reagan1947, @Roger3581321, @sczyh30, @tain198127, @zhaoxinhu, @zhuyou1234
sentinel-cluster-server-envoy-rls
token server module (#2336)Thanks for all contributors: @brotherlu-xcq, @chenzhiguo, @sczyh30, @shaohsiung, @su787910081, @winjaychan, @wucheng1997, @xiaojun207, @xianwdong
TimeUtil
adaptively in different load conditions (#1746)@SentinelResource
annotation (#2163)sentinel-transport-spring-mvc
module (Spring Web as command center) (#1957)Thanks for all contributors: @Amitbhave, @Anilople, @brotherlu-xcq, @cdfive, @drgnchan, @goodjava, @gvma, @huakai-zhang, @jasonjoo2010, @jiajiangnan, @JJFly-JOJO, @JerryChin, @liqiangz, @quaff, @Roger3581321, @ShubhamPalriwala, @Slideee, @SparkLee, @sczyh30, @shenbaoyong, @ss-superman, @VegetaPn, @wutingjia, @wuwen5, @zhangyunan1994
NOTE: Since 1.8.1, Sentinel requires JDK 1.8 or higher version.
NettyTransportClient.getCurrentId()
thread safe (#1707)/xx/**
in authFilterExcludeUrls (#1971)Thanks for all contributors: @brothelul, @cdfive, @dani3lWong, @evasnowind, @HelloCoCooo, @jasonjoo2010, @JiangZian, @JieGz, @John-Chan, @liuming-dev, @mikawudi, @nickChenyx, @odidev, @polarbear567, @PeineLiang, @samuelxw, @sczyh30, @vipweihua, @wzg923, @xierunzi, @xierunzi, @xuande, @yunfeiyanggzq, @zcai2, @zhangkai253, @zhangxn8, @zhouyongshen
This nouveau release ships with countless features and improvements, specifically for circuit breaking. We've made progress on refactoring and improving circuit breaking feature, including arbitrary statistic duration support, half-open recovery, enhanced slow request ratio strategy, state change observer and more. We've also brought various versatile integrations including Java EE (JAX-RS and CDI), Quarkus and HTTP client (Apache HttpClient and OkHttp), which could cover more developers.
project.name
via the properties file and deprecate legacy config path (#1412, #1437)whenTerminate
) support (#1645)sentinel-datasource-nacos
module)Thanks for all contributors: @Billzaifei, @cdfive, @chenzhiguo, @CodingSinger, @DogBaoBao, @jasonjoo2010, @J-Cod3r, @JiangZian, @John-Chan, @joooohnli, @linlinisme, @liqiangz, @pleasecheckhere2016, @PeineLiang, @RGaius, @sczyh30, @seasidesky, @wavesZh, @xiby, @Yanghf123, @yunfeiyanggzq, @zhaoyuguang, @zhenxianyimeng
In this version, we've brought breaking changes about the slot SPI mechanism. The slot chain builder SPI has been deprecated (legacy classes were reserved for compatibility). Now Sentinel will take ProcessorSlot
itself as SPI. Note that the slot might be stateful, so Sentinel will still build different new slot chains for each resource.
Furthermore, a new Logger SPI mechanism is introduced for flexible logging extension. The default RecordLog implementation is still based on java.util.logging
, and developers could introduce dependencies of logging integration module to adapt to existing logging libraries (e.g. slf4j). See here for more details.
ProcessorSlot
itself as SPI and deprecate legacy slot chain builder (#411)sentinel-transport-simple-http
(#1255)sentinel-transport-simple-http
(resolved in #926 more details in #1583)Thanks for the contributors: @cdfive, @echooymxq, @jasonjoo2010, @jy2156121, @linlinisme, @mantuliu, @olof-nord, @sczyh30, @tianhaowhu, @wavesZh, @WongTheo, @xue8, @zhaoyuguang