MSE Sync を使用すると、簡単な構成を行うことで、Consul インスタンスから Microservices Engine (MSE) Nacos インスタンスにすべてのサービスデータを同期できます。移行中に、サービス依存関係が置き換えられ、アプリケーション構成が再パッケージ化されます。このトピックでは、Consul インスタンスから MSE Nacos インスタンスにサービスデータを移行する方法について説明します。
前提条件
Nacos エンジンが作成されていること。詳細については、「Nacos エンジンの作成」をご参照ください。
MSE Sync がデプロイされていること。詳細については、「MSE Sync に基づく移行ソリューション」をご参照ください。
手順
MSE Sync を起動し、構成ファイルを使用して、ソースインスタンスとデスティネーションインスタンスの構成を MSE Sync にインポートします。
次の内容を含む構成ファイルを作成します。
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 インスタンスのエンドポイントに置き換えます。たとえば、{nacos.endpoint} をmse-zzzzz-.nacos-ans.mse.aliyuncs.com
に置き換えます。構成ファイルの
{consul.endpoint}
を Consul インスタンスの IP アドレスに置き換えます。たとえば、{consul.endpoint} を10.0.0.1
に置き換えます。
構成ファイルを MSE Sync にインポートします。インポート後、MSE Sync はソースインスタンスとデスティネーションインスタンスの新しいサービスを定期的にスキャンし、サービスデータを同期するためのタスクを自動的に作成します。
完了した同期タスクの数を確認し、すべてのサービスデータが同期されているかどうかを確認します。
クライアントの依存関係を置き換え、構成を変更します。
クライアントの依存関係を置き換えます。Consul SDK を Nacos SDK に置き換えます。
Spring Cloud アプリケーションの場合、
spring-cloud-starter-consul-discovery
を Spring Cloud と互換性のあるspring-cloud-starter-alibaba-nacos-discovery
に置き換えます。構成を変更します。構成ファイルを変更して、MSE Nacos インスタンスをレジストリとして構成します。
この例では、Consul インスタンスの構成が MSE 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
アプリケーションを再パッケージ化してリリースします。
アプリケーションが正常に起動および呼び出されているかどうかを確認し、MSE コンソールでアプリケーションが MSE Nacos インスタンスに登録されているかどうかを確認します。
MSE Sync は Consul インスタンスに関する情報を定期的にスキャンし、情報の更新を同期します。consul.refresh.interval
を指定することで、インスタンス情報が更新される間隔を調整できます。デフォルト値は 5 秒です。
FAQ
Consul インスタンスのサービスデータが MSE Nacos インスタンスに同期されません。なぜですか?
Consul のサービスがヘルスチェックに合格しているかどうかを確認します。MSE Sync は正常なインスタンスのデータのみを同期します。
関連情報
MSE Sync と MSE Sync でサポートされている他のインスタンスタイプの詳細については、「MSE Sync に基づく移行ソリューション」をご参照ください。