Nepxion Discovery 6.9.0 釋出

語言: CN / TW / HK

釋出日誌

釋出策略

提醒:版本號右邊, 表示>=該版本號, 表示<=該版本號

版本 狀態 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
  • 修復Etcd配置中心關閉連線的Bug。感謝@ZhangNingPegasus的PR

相關下載

DiscoveryAgent下載

訪問https://github.com/Nepxion/DiscoveryAgent/releases獲取最新版本

DiscoveryDesktop下載

訪問https://github.com/Nepxion/DiscoveryUI/releases獲取最新版本

相關文件


Discovery【探索】微服務企業級解決方案

① Discovery【探索】微服務企業級解決方案文件

  • Discovery【探索】微服務企業級解決方案(WIKI版) : http://nepxion.com/discovery
  • Discovery【探索】微服務企業級解決方案(PPT版) : http://nepxion.gitee.io/docs/link-doc/discovery-ppt.html
  • Discovery【探索】微服務企業級解決方案(PDF版) : http://nepxion.gitee.io/docs/link-doc/discovery-pdf.html
  • Discovery【探索】微服務企業級解決方案(HTML版) : http://nepxion.gitee.io/docs/link-doc/discovery-html.html

② Discovery【探索】微服務企業級解決方案原始碼。請訪問Gitee映象獲得最佳體驗

  • 原始碼Gitee同步映象 : https://gitee.com/Nepxion/Discovery
  • 原始碼Github原映象 : https://github.com/Nepxion/Discovery

③ Discovery【探索】微服務企業級解決方案指南示例原始碼。請訪問Gitee映象獲得最佳體驗

  • 指南Gitee同步映象 : https://gitee.com/Nepxion/DiscoveryGuide
  • 指南Github原映象 : https://github.com/Nepxion/DiscoveryGuide

④ Discovery【探索】微服務框架指南示例說明

  • 對於入門級玩家,參考6.x.x指南示例極簡版,分支為6.x.x-simple。涉及到指南篇裡的藍綠灰度釋出的基本功能, 參考新手快速入門
  • 對於熟練級玩家,參考6.x.x指南示例精進版,分支為6.x.x。除上述《極簡版》功能外,涉及到指南篇裡的絕大多數高階功能
  • 對於骨灰級玩家,參考6.x.x指南示例高階版,分支為6.x.x-complex。除上述《精進版》功能外,涉及到指南篇裡的ActiveMQ、MongoDB、RabbitMQ、Redis、RocketMQ、MySQL等高階呼叫鏈和藍綠灰度呼叫鏈的整合
  • 上述指南例項分支是針對Spring Cloud舊版本。對於Spring Cloud 202x版本,參考202x版指南示例精進版,分支為master

Polaris【北極星】企業級雲原生微服務框架

① Polaris【北極星】企業級雲原生微服務框架文件

  • Polaris【北極星】企業級雲原生微服務框架(WIKI版) : http://nepxion.com/polaris
  • Polaris【北極星】企業級雲原生微服務框架(PDF版) : http://nepxion.gitee.io/docs/link-doc/polaris-pdf.html
  • Polaris【北極星】企業級雲原生微服務框架(HTML版) : http://nepxion.gitee.io/docs/link-doc/polaris-html.html

② Polaris【北極星】企業級雲原生微服務框架原始碼。請訪問Gitee映象獲得最佳體驗

  • 原始碼Gitee同步映象 : https://gitee.com/polaris-paas/polaris-sdk
  • 原始碼Github原映象 : https://github.com/polaris-paas/polaris-sdk

③ Polaris【北極星】企業級雲原生微服務框架指南示例原始碼。請訪問Gitee映象獲得最佳體驗

  • 指南Gitee同步映象 : https://gitee.com/polaris-paas/polaris-guide
  • 指南Github原映象 : https://github.com/polaris-paas/polaris-guide

請聯絡我

微信、釘釘、公眾號和文件




本文分享自微信公眾號 - Nepxion開源社群(iMicroService)。
如有侵權,請聯絡 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。