6.14.0(MAY 30, 2022)
发布日志
发布策略
提醒:版本号右边, ↑
表示>=该版本号, ↓
表示<=该版本号
表示维护中 | 表示不维护,但可用,强烈建议升级 | 表示不维护,不可用,已废弃
- 8.x.x版本(适用于2021.x.x)将继续维护
- 7.x.x版本(适用于2020.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)已废弃
版本变更
- 默认集成SkyWalking版本为8.10.0
- 默认集成OpenTelemetry版本为1.14.0
另:
3.x.x版本变更
- Apollo版本降级为1.7.0,Spring Boot 1.5.x不支持高版本Apollo
7.0.0商业版版本变更
- 默认升级集成Spring Boot版本为2.5.14
8.0.0商业版版本变更
- 默认升级集成Spring Cloud版本为2021.0.3
- 默认升级集成Spring Boot版本为2.6.8
功能迭代
全链路区域调试路由
在区域调试路由执行的时候,当未对服务指定访问区域的时候,路由到事先指定的区域。该功能属于静态隔离和动态路由结合在一起的灵活方案,适用于开发环境(个人电脑环境)在测试环境(线上环境)进行联调,同时当多套个人环境接入时候,可以保护不同的个人环境间不会彼此调用
在下面的全链路调用路径中
A服务 -> B服务 -> C服务 -> D服务
其中,A服务和B服务在开发环境上,C服务和D服务在测试环境上,希望A服务调用B服务的时候,只会走本地电脑,不会去访问测试环境的B服务,也不会去访问其它本地电脑的B服务;B服务调用C服务的时候,只会去访问测试环境的C服务,C服务调用D服务的时候,也只是在测试环境的区域内
只需要通过如下步骤:
- A服务和B服务的区域(Region)元数据配置为MyDEV(本地电脑的名称或者可以区别其它电脑的特征值),如下
spring.cloud.nacos.discovery.metadata.region=MyDEV
- C服务和D服务的区域(Region)元数据配置为FAT(测试环境),如下
spring.cloud.nacos.discovery.metadata.region=FAT
- B服务和C服务,加上如下配置,保证B服务只访问测试环境上的C服务,C服务只访问测试环境上的D服务
# 开启和关闭跨区域路由
spring.application.strategy.region.route.enabled=true
# 路由的目标区域
spring.application.strategy.region.route=FAT
- 前端传入B服务的区域Header。由于A服务是调用起点,所以不需要配置A服务的值
n-d-region={"service-b":"MyDEV"}
扩展场景:
如果希望C服务访问的是开发环境上的D服务,那么变成
A服务(本地环境) -> B服务(本地环境) -> C服务(测试环境) -> D服务(本地环境)
前端传入区域Header改为
n-d-region={"service-b":"MyDEV", "service-d":"MyDEV"}
- 要调用测试环境中的服务,包括开发环境调用测试环境和测试环境中的服务间调用,必须加上
开启和关闭跨区域路由
和路由的目标区域
的两个配置 - 要调用开发环境中的服务,包括测试环境回调开发环境和开发环境中的服务间调用,必须加上
n-d-region
的Header进行动态路由
重构优化
无
缺陷修复
无
相关发布
DiscoveryAgent发布
无
DiscoveryDesktop发布
无
相关下载
DiscoveryAgent下载
访问https://github.com/Nepxion/DiscoveryAgent/releases
获取最新版本
DiscoveryDesktop下载
访问https://github.com/Nepxion/DiscoveryUI/releases
获取最新版本