Sentinel 1.8 发布,高可用流量防护组件

什么是 sentinel

Sentinel 是面向分布式服务架构的高可用防护组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助用户保障微服务的稳定性。

在经过长时间的打磨后,Sentinel 1.8.0 版本正式发布!该版本是本年度最重要的版本之一,包含大量特性改进与 bug 修复,尤其是针对熔断降级特性的完善升级(支持任意统计时长、慢调用比例降级策略、熔断器事件监听等特性);同时该版本进一步扩充了开源生态,提供对 Java EE (JAX-RS, CDI), Quarkus, HTTP client 等体系的原生支持。欢迎大家升级使用!

功能/增强

  • 增加新的断路器机制重构代码接口并改进策略(支持任意统计持续时间,支持半开恢复,添加慢速请求比率策略)(#1490,#1645)
  • 支持通过属性文件设置 project.name 设并弃用旧版配置(#1412,#1437)
  • 重构记录异常机制(完成时)并完善 Tracer(#1420)
  • @SentinelResource 支持类级别 defaultFallback 降级 (#1493)
  • 添加 JAX-RS 集成模块(#1396)
  • 添加 CDI 拦截器 (#1541)
  • 添加 Quarkus 集成 Sentinel 注解和 JAX-RS 插件(#1542)
  • 添加 Apache HttpClient 集成模块(#1455)
  • 添加 OkHttp 集成模块(#1456)
  • 添加 Eureka 数据源扩展(#1502)
  • 添加 exception 断言用于自定义异常逻辑 (#1496)
  • 改进 ParameterMetric 的清除机制 (#1372)
  • 在 Dubbo 2.6.x / 2.7.x 中支持定制 origin 解析器并完善配置机制(#1555,#1572,#1617)
  • 添加对从复杂对象中提取参数值的支持(#1491)
  • 为指标扩展 Hook 添加扩展接口,以支持区分流量类型(#1665)
  • 重构 Apache Dubbo 2.7.x 适配器(#1680)默认回退
  • 添加支持每个接口出入处理(whenTerminate)支持(#1645)
  • 优化 ProcessorSlot SPI 配置(#1649)中的 slot 顺序

Bug 修复

  • 修复 sentinel-apache-dubbo-adapter Full GC 错误(#1431)
  • 修复 sendinel-spring-webmvc-adapter(#1533,#1681)中转发请求时可能导致 ErrorEntryFreeException 。
  • 修复 Spring Cloud Gateway 适配器(#1400)中提取请求 cookie 的错误
  • 修复 ContextUtil 和 ClusterNode 中锁释放错误(#1429)

控制台

  • 重构前端/控制器并增加新的断路策略
  • 修复 Cookie 可能与同一域下的 Web 应用发生冲突的错误(#1443)
  • 修复了通过 localStorage 进行身份验证的历史版本兼容性问题(#1473)

依存关系

  • fastjson 升级到 1.2.71,
  • nacos-client 升级到 1.3.0( sentinel-datasource-nacos 模块)

https://github.com/alibaba/Sentinel/releases/tag/v1.8.0