Skip to content

6.6.0(FEB 1, 2021)

Compare
Choose a tag to compare
@HaojunRen HaojunRen released this 01 Feb 04:04
· 1203 commits to 6.x.x since this release

感谢贡献者

  • 感谢@CongweiXu贡献的基于Etcd和Consul配置中心的模块

发布日志

发布策略

提醒:版本号右边, 表示>=该版本号, 表示<=该版本号

版本 状态 SC SB SCA
7.0.0 (未发布) 202x.x.x 2.4.1 ↑ N/A
6.6.0 H.SR5 ↑
H
G
F
2.3.x
2.2.x
2.1.x
2.0.x
2.2.x
2.2.x
2.1.x
2.0.x
5.6.0 G 2.1.x 2.1.x
4.15.0 F 2.0.x 2.0.x
3.22.0 E 1.5.x 1.5.x
2.0.x D 1.x.x 1.5.x
1.0.x C 1.x.x 1.5.x

表示维护中 | 表示不维护,但可用,强烈建议升级 | 表示不维护,不可用,已废弃

  • 7.x.x版本(适用于202x.x.x)将继续维护
  • 6.x.x版本(同时适用于Finchley、Greenwich和Hoxton)将继续维护
  • 5.x.x版本(适用于Greenwich)已废弃
  • 4.x.x版本(适用于Finchley)已废弃
  • 3.x.x版本(适用于Edgware)不维护,但可用,强烈建议升级
  • 2.x.x版本(适用于Dalston)已废弃
  • 1.x.x版本(适用于Camden)已废弃

版本变更

  • 默认集成Spring Boot版本为2.3.8.RELEASE(可降级
  • 默认集成Spring Cloud Alibaba为2.2.5.RELEASE(可降级
  • 默认集成OpenTelemetry版本为0.15.0
  • 默认集成Consul版本为1.4.5
  • 默认集成JEtcd版本为0.5.4

功能迭代

适配新版Nacos

  • 升级到Nacos 1.4.1,修复安全问题
  • 增加Nacos新的配置参数
  • 重构Nacos配置获取方式,静态变量引入更改为动态Properties引入

增加配置中心

  • 增加基于Etcd配置中心
  • 增加基于Consul配置中心

增加网关侧直接进行Feign或者RestTemplate调用场景中蓝绿灰度

  • 重构Feign和RestTemplate拦截器,从discovery-plugin-strategy-starter-service模块移到discovery-plugin-strategy-starter模块
  • StrategyContextHolder增加如下方法,网关层和服务层实现该方法
Enumeration<String> getHeaderNames();
  • 通过如下开关进行控制
# 启动和关闭路由策略的时候,对REST方式的调用拦截。缺失则默认为true
spring.application.strategy.rest.intercept.enabled=true

增强服务侧前置过滤

  • 增加服务侧根据URI决策过滤排除

默认为/actuator/,表示Actuator调用不需要执行蓝绿灰度。用户一般不需要配置该项

# 路由策略的时候,执行请求过滤,对指定包含的URI字段进行排除。缺失则默认为/actuator/,如果多个用“;”分隔,不允许出现空格
# spring.application.strategy.uri.filter.exclusion=/actuator/

架构优化

优化Commons模块

  • 简化Commons子模块的包依赖引入

优化和兼容规则策略格式

  • 为准确体现相关变量支持Header、Parameter、Cookie中的任意一个,在6.6.0版本之前,表达式格式为 header="#H['a'] == '1'" ,从6.6.0版本开始,表达式格式改为 expression="#H['a'] == '1'" ,但也兼容 header="#H['a'] == '1'" ,即从6.6.0版本开始,用 expression=""header="" 都支持

优化和兼容元数据

  • 为保持和Spring Cloud 2020兼容,内置元数据Key用“_”代替“.”,相关静态变量从DiscoveryConstant迁移到DiscoveryMetaDataConstant
  • DiscoveryAgent默认内置thread.mdc.enabled为true,使用者不再需要在DiscoveryAgent启动参数上输入-Dthread.mdc.enabled=true这个参数

优化Header取值方式

  • 异步调用下,进行Wrapper的时候,Tomcat会把所有大写的Header改成小写,Undertower不执行这个逻辑,那么Wrapper的时候统一用LinkedCaseInsensitiveMap来缓存Header,实现对大小写不敏感的逻辑

优化注入方式

  • 优化ZoneAvoidanceRuleDecorator类中的注入方式

优化结构

  • 优化某些类名和方法名
  • 优化抽象某些类的@bean方式
  • 优化类中配置方式
  • 优化相关拦截器获取Header方式
  • 优化@ConditionalOnClass使用方式
  • 删除没有用到且不够优雅的Servlet和Reactive容器判断的方法逻辑,使用者可以通过WebApplicationType获取到容器类型

缺陷修复

  • 修复强绑定配置中心的缺陷
  • 修复潜在可能性的空指针异常

相关下载

DiscoveryAgent下载

访问https://github.com/Nepxion/DiscoveryAgent/releases获取最新版本

DiscoveryDesktop下载

访问https://github.com/Nepxion/DiscoveryUI/releases获取最新版本