全部產品
Search
文件中心

Microservices Engine:從Consul遷移到MSE Nacos

更新時間:Jul 06, 2024

使用MSE Sync工具,您可以輕鬆地將Consul中的服務資料同步到Nacos,只需進行簡單的配置即可實現全部服務的全量同步。通過依賴替換和重新打包,即可從Consul遷移到Nacos。本文將介紹如何?從Consul到Nacos的遷移。

前提條件

操作步驟

  1. 啟動MSE Sync同步工具,通過設定檔匯入同步叢集配置。

    1. 建立設定檔。

      clusters:
        - clusterName: dst
          connectKeyList:
            - {nacos.endpoint}:8848
          clusterType: NACOS
        - clusterName: src
          connectKeyList:
            - {consul.endpoint}:8500
          clusterType: CONSUL
      tasks:
        - source: src
          destination: dst
      
      • 將設定檔中的{nacos.endpoint}替換為MSE Nacos的存取點。例如mse-zzzzz-.nacos-ans.mse.aliyuncs.com

      • 將設定檔中的{consul.endpoint}替換為Consul的存取點IP。例如10.0.0.1

    2. 將設定檔匯入到同步工具。匯入之後,同步工具就會定時掃描源叢集和目的地組群新增的服務並自動建立同步任務,並開始同步。

    3. 查看同步完成任務數,確認是否已同步全部服務資訊。

  2. 替換用戶端依賴並修改配置。

    1. 替換用戶端依賴。將用戶端Consul SDK替換為Nacos SDK。

      在使用Spring Cloud的情況下,將spring-cloud-starter-consul-discovery替換為對應的Spring Cloud相容版本的spring-cloud-starter-alibaba-nacos-discovery

    2. 修改配置。修改設定檔,將註冊中心相關配置指向Nacos。

      例如以下配置,注釋部分為原Consul的註冊中心配置,替換Nacos作為註冊中心的配置。

      server:
        port: 9999
      
      spring:
        application:
          name: sp-provider
        cloud:
          nacos:
            discovery:
              server-addr: mse-xxxxx-nacos-ans.mse.aliyuncs.com:8848
      #    consul:
      #      host: 11.164.x.x
      #      port: 8500
      #      config:
      #        enabled: false
      #      discovery:
      #        health-check-path: /health
  3. 應用重新打包發布。

  4. 檢查應用是否啟動和調用正常,並通過控制台檢查應用是否已經註冊在MSE上。

說明

遷移工具通過定時掃描Consul中的執行個體資訊進行執行個體資訊變化的同步。可以通過consul.refresh.interval調整執行個體資訊重新整理的時間間隔,預設為5s。

常見問題

為什麼Consul中的執行個體未被同步到Nacos中?

請檢查Consul中對應的服務狀態健全狀態檢查是否通過,同步工具只會同步健康執行個體的資料。

相關文檔

如果您想瞭解更多MSE Sync工具的相關資訊和其他遷移支援的註冊中心類型,請參見MSE Sync遷移方案