Nepxion Discovery 6.7.0

語言: CN / TW / HK

釋出日誌

釋出策略

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

版本 狀態 SC SB SCA
7.0.0 (未釋出) 202x.x.x 2.4.1 202x.x
6.7.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.23.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.9.RELEASE( 可降級
  • 預設整合Spring Cloud為Hoxton.SR10( 可降級),修復了安全漏洞CVE-2021-22113
  • 預設整合Apollo版本為1.8.0
  • 預設整合OpenTelemetry版本為0.17.1
  • 預設整合SkyWalking版本為8.4.0
  • 預設整合Swagger版本為1.5.21,修復1.5.20官方版本開啟Swagger頁面空指標異常
  • 預設整合OpenTracing Spring Jaeger版本為3.3.1
  • 預設整合Caffeine版本為2.9.0

功能迭代

  • 相容支援Nacos Spring Boot(非Spring Cloud技術棧)
  • 增加基於WebClient的藍綠灰度釋出功能,從6.7.0開始,使用者可以通過Feign/RestTemplate/WebClient三種方式實施相應功能 由於WebClient基於Reactor,所以它的使用場景一般為Spring Cloud Gateway。特別注意:Spring Cloud 2020版的閘道器中不允許Feign和RestTemplate同步呼叫,只能使用WebClient Reactor呼叫方式。參考 https://github.com/spring-cloud/spring-cloud-gateway/issues/1090

使用示例如下:

① 過濾器中執行WebClient呼叫

public class MyGatewayFilter implements GlobalFilter, Ordered {
    private static final Logger LOG = LoggerFactory.getLogger(MyGatewayFilter.class);

    @Autowired
    private WebClient.Builder webClient;

    @Override
    public int getOrder() {
        return 10000;
    }

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        String parameter = "MyGatewayFilter";

        return webClient.build().get().uri("http://discovery-guide-service-b/rest/" + parameter).retrieve().bodyToMono(String.class).flatMap(s -> {
            // 非同步執行緒需要複製上下文
            GatewayStrategyContext.getCurrentContext().setExchange(exchange);

            LOG.info("閘道器上觸發WebClient呼叫,返回值={}", s);

            return chain.filter(exchange);
        });
    }
}

② 配置類中初始化相關Bean

// 自定義路由過濾的WebClient呼叫
@Bean
public GlobalFilter gatewayFilter() {
    return new MyGatewayFilter();
}

@Bean
@LoadBalanced
public WebClient.Builder webClient() {
   return WebClient.builder();
}
  • 優化OpenTracing和OpenTelemetry引數獲取方式

缺陷修復

  • 增加Nacos的服務名過濾。由於Nacos註冊中心會自動把服務名處理成GROUP@@SERVICE_ID的格式,導致根據服務名去獲取元資料的時候會找不到,需要過濾掉GROUP字首 為了避免誤過濾,使用者也可以關閉該開關
# 由於Nacos註冊中心會自動把服務名處理成GROUP@@SERVICE_ID的格式,導致根據服務名去獲取元資料的時候會找不到。通過如下開關開啟是否要過濾掉GROUP字首。缺失則預設為true
spring.application.nacos.service.id.filter.enabled=true

具體見https://github.com/alibaba/nacos/issues/4885上述問題只會出現在“同一個服務有N個例項,一部分例項接入了Nepxion Discovery,另一部分例項未接入Nepxion Discovery”的場景中

  • 修復過濾器攔截Actuator無法執行的問題,感謝ZhangNingPegasus的PR

相關下載

DiscoveryAgent下載

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

DiscoveryDesktop下載

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

相關文件


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

① 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【探索】微服務框架指南示例說明

  • 對於入門級玩家,參考 指南示例極簡版 : https://github.com/Nepxion/DiscoveryGuide/tree/simple,分支為simple。涉及到指南篇裡的藍綠灰度釋出的基本功能, 參考 新手快速入門 : https://gitee.com/nepxion/DiscoveryGuide/blob/simple/GUIDE.md
  • 對於熟練級玩家,參考 指南示例精進版 : https://github.com/Nepxion/DiscoveryGuide/tree/master,分支為master。除上述《極簡版》功能外,涉及到指南篇裡的絕大多數高階功能
  • 對於骨灰級玩家,參考 指南示例高階版 : https://github.com/Nepxion/DiscoveryGuide/tree/premium,分支為premium。除上述《精進版》功能外,涉及到指南篇裡的ActiveMQ、MongoDB、RabbitMQ、Redis、RocketMQ、MySQL等高階呼叫鏈和藍綠灰度呼叫鏈的整合

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

① 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源創計劃”,歡迎正在閱讀的你也加入,一起分享。