什么是 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 模块)