すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:Consul から MSE Nacos へのサービスデータ移行

最終更新日:Mar 01, 2026

このガイドでは、MSE Sync を使用して、自己管理型 Consul インスタンスから Microservices Engine (MSE) Nacos インスタンスへすべてのサービスデータを同期し、クライアント依存関係を置き換え、アプリケーション構成を更新し、移行を検証する方法について説明します。

移行ステージ

ステージ説明
1. MSE Sync の構成MSE Sync を起動し、ソース Consul インスタンスと宛先 MSE Nacos インスタンスを設定して、サービスデータを同期します。
2. クライアント依存関係の置き換えアプリケーションプロジェクトで Consul SDK を Nacos SDK に置き換えます。
3. アプリケーション構成の更新アプリケーションを Consul インスタンスではなく MSE Nacos インスタンスに指定します。
4. 再パッケージ化、デプロイ、および検証アプリケーションを再構築し、サービスが MSE Nacos に正しく登録されていることを確認します。

前提条件

開始する前に、以下を準備してください。

ステップ 1: MSE Sync の起動と構成のインポート

YAML 構成ファイルを使用して、MSE Sync を起動し、ソースおよび宛先インスタンスの構成をインポートします。

構成ファイルの作成

以下のコンテンツを含む YAML ファイルを作成します。

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

構成ファイルのインポート

MSE Sync を起動し、構成ファイルをインポートします。インポート後、MSE Sync はソースインスタンスと宛先インスタンスの両方で新しいサービスを定期的にスキャンし、同期タスクを自動的に作成します。

説明

MSE Sync は Consul インスタンスを定期的にスキャンし、更新を同期します。スキャン間隔を調整するには、consul.refresh.interval パラメーターを設定します。デフォルト値は 5 秒です。

同期の検証

MSE Sync で完了した同期タスクの数を確認します。すべてのサービスデータが Consul から MSE Nacos インスタンスに同期されていることを確認します。

ステップ 2: クライアント依存関係の置き換え

アプリケーションプロジェクトで Consul SDK を Nacos SDK に置き換えます。

Spring Cloud アプリケーションの場合、Maven 依存関係を次のように更新します。

groupIdartifactId
変更前 (Consul)org.springframework.cloudspring-cloud-starter-consul-discovery
変更後 (Nacos)com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery

Consul 依存関係の削除:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

Nacos 依存関係の追加:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

プロジェクトの Spring Cloud バージョンと互換性のある spring-cloud-starter-alibaba-nacos-discovery のバージョンを使用します。

ステップ 3: アプリケーション構成の更新

アプリケーション構成ファイル内の Consul 構成ブロックを Nacos 構成ブロックに置き換えて、MSE Nacos インスタンスをサービスレジストリとして設定します。

構成例 (application.yml):

server:
  port: 9999

spring:
  application:
    name: sp-provider
  cloud:
    nacos:
      discovery:
        server-addr: mse-xxxxx-nacos-ans.mse.aliyuncs.com:8848

以下のコメントアウトされたブロックは、参考として元の Consul 構成を示しています。

#    consul:
#      host: 11.164.x.x
#      port: 8500
#      config:
#        enabled: false
#      discovery:
#        health-check-path: /health

ステップ 4: アプリケーションの再パッケージ化とデプロイ

更新された依存関係と構成でアプリケーションパッケージを再構築します。新しいパッケージを環境にデプロイします。

ステップ 5: 移行の検証

デプロイメント後、以下の確認を完了します。

  1. すべてのアプリケーションがエラーなしで起動することを確認します。

  2. サービス間呼び出しをテストして、サービスディスカバリが正しく機能することを確認します。

  3. MSE コンソールを開き、すべてのアプリケーションが MSE Nacos インスタンスに登録されていることを確認します。

よくある質問

Consul のサービスデータが MSE Nacos に同期されない

Consul のサービスがヘルスチェックに合格しているか確認してください。MSE Sync は正常なインスタンスのデータのみを同期します。異常または失敗したサービスは同期から除外されます。

参考文献

MSE Sync およびその他のサポートされているインスタンスタイプについては、「MSE Sync に基づく移行ソリューション」をご参照ください。