Skip to content

6.9.0(APR 8, 2021)

Compare
Choose a tag to compare
@HaojunRen HaojunRen released this 08 Apr 07:07
· 1118 commits to 6.x.x since this release

发布日志

发布策略

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

版本 状态 SC SB SCA
7.0.0 (商业版) 202x.x.x 2.4.1 ↑ 202x.x
6.9.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.25.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)已废弃

版本变更

  • 默认集成OpenTelemetry版本为1.1.0

功能迭代

集成Dromara Soul网关

提供基于Dromara Soul网关,实现蓝绿灰度等功能,用法和Spring Cloud Gateway、Zuul一致

统一所有注册中心元数据配置

下面元数据的配置方式适用于所有的配置中心,同时也统一Spring Cloud旧版本和2020版的差异化用法

# Spring cloud discovery metadata config
spring.cloud.discovery.metadata.group=discovery-guide-group
spring.cloud.discovery.metadata.version=1.0
spring.cloud.discovery.metadata.region=dev
spring.cloud.discovery.metadata.env=env1
spring.cloud.discovery.metadata.zone=zone1

共享Spring Cloud Alibaba Nacos Config配置

6.9.0以及以后的版本,新的配置跟spring.cloud.nacos.config实现共享,不需要重复配置

下面的新旧配置效果等同,如果新旧配置同时出现,则取值旧配置方式

新的配置方式

# Nacos config for rule
spring.cloud.nacos.config.server-addr=localhost:8848
spring.cloud.nacos.config.access-key=
spring.cloud.nacos.config.secret-key=
spring.cloud.nacos.config.username=
spring.cloud.nacos.config.password=
spring.cloud.nacos.config.namespace=application
spring.cloud.nacos.config.cluster-name=
spring.cloud.nacos.config.context-path=
spring.cloud.nacos.config.config-long-poll-timeout=
spring.cloud.nacos.config.config-retry-time=
spring.cloud.nacos.config.max-retry=
spring.cloud.nacos.config.endpoint=
spring.cloud.nacos.config.endpoint-port=
spring.cloud.nacos.config.is-use-endpoint-parsing-rule=
spring.cloud.nacos.config.is-use-cloud-namespace-parsing=
spring.cloud.nacos.config.encode=
spring.cloud.nacos.config.naming-load-cache-at-start=
spring.cloud.nacos.config.naming-client-beat-thread-count=
spring.cloud.nacos.config.naming-polling-thread-count=
spring.cloud.nacos.config.naming-request-domain-max-retry-count=
spring.cloud.nacos.config.naming-push-empty-protection=
spring.cloud.nacos.config.ram-role-name=
spring.cloud.nacos.config.timout=
...

旧的配置方式

# Nacos config for rule
nacos.server-addr=localhost:8848
nacos.access-key=
nacos.secret-key=
nacos.username=
nacos.password=
nacos.plugin.namespace=application
nacos.plugin.cluster-name=
nacos.plugin.context-path=
nacos.plugin.config-long-poll-timeout=
nacos.plugin.config-retry-time=
nacos.plugin.max-retry=
nacos.plugin.endpoint=
nacos.plugin.endpoint-port=
nacos.plugin.is-use-endpoint-parsing-rule=
nacos.plugin.is-use-cloud-namespace-parsing=
nacos.plugin.encode=
nacos.plugin.naming-load-cache-at-start=
nacos.plugin.naming-client-beat-thread-count=
nacos.plugin.naming-polling-thread-count=
nacos.plugin.naming-request-domain-max-retry-count=
nacos.plugin.naming-push-empty-protection=
nacos.plugin.ram-role-name=
nacos.plugin.timout=

蓝绿灰度告警监控

全链路蓝绿灰度实施过程中,使用者需要快速判断蓝绿灰度是否已经生效,可以通过

  • Debug开关开启,通过控制台输出去判断相关蓝绿灰度Header是否传递,是否相同
  • 依托监控调用链中间件,通过埋点输出去判断相关蓝绿灰度Header是否传递,是否相同

上述方式需要人工观察和干预,并不友好,使用者也可以通过集成如下蓝绿灰度告警监控模块来实现

① 网关和服务加上下面的类

@EventBus
public class MySubscriber {
    @Subscribe
    public void onAlarm(AlarmEvent alarmEvent) {
        // 通过事件总线把告警数据alarmEvent.getContextMap()存储到ElasticSearch、MessageQueue、数据库等
    }
}

并开启如下开关

# 启动和关闭告警,一旦关闭,蓝绿灰度上下文输出都将关闭。缺失则默认为false
spring.application.strategy.alarm.enabled=true

② 通过事件总线把告警数据alarmEvent.getContextMap()存储到ElasticSearch、MessageQueue、数据库等

③ 根据端到端的traceId对应的蓝绿灰度Header是否传递,是否相同,判断蓝绿灰度是否成功

④ 如果不相同,结合DevOps系统发送告警邮件或者通知

⑤ 上下文具体信息列表参考源码:

com.nepxion.discovery.plugin.strategy.monitor.DefaultStrategyAlarm

示例如下:

{n-d-service-group=discovery-guide-group, n-d-version={"discovery-guide-service-a":"1.0", "discovery-guide-service-b":"1.0"}, n-d-service-type=service, n-d-service-id=discovery-guide-service-b, n-d-service-env=env1, mobile=, n-d-service-region=qa, span-id=c37b54d7fec6bd07, n-d-service-zone=zone1, n-d-service-address=192.168.0.107:4001, trace-id=64c79e1ef68eecf3, n-d-service-version=1.0}

缺陷修复

  • 去掉策略控制开关,该开关意义不大,如果设置为false时候,会导致服务无法正常启动
# 开启和关闭路由策略的控制。一旦关闭,路由策略功能将失效。缺失则默认为true
# spring.application.strategy.control.enabled=true

相关下载

DiscoveryAgent下载

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

DiscoveryDesktop下载

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