このトピックでは、セルフマネージド ZooKeeper レジストリから Microservices Engine (MSE) ZooKeeper レジストリに Dubbo アプリケーションを移行する方法について説明します。
前提条件
MSE Sync ツールがデプロイされていること。詳細については、MSE Sync に基づく移行ソリューションをご参照ください。
MSE Zookeeper インスタンスが作成されていること。詳細については、「インスタンスの作成」をご参照ください。
制限事項
MSE Sync ツールが停止した場合、同期サービスは中断されます。そのため、少なくとも 2 つのノードに MSE Sync ツールをデプロイすることをお勧めします。移行プロセスが開始されたら、できるだけ早く移行を完了する必要があります。
セルフマネージド ZooKeeper インスタンス、MSE Sync、および MSE ZooKeeper インスタンス間のネットワークが相互接続されていること。
仕様
Dubbo サービスの数 | プロバイダーの数 | コンシューマーの数 | 最小インスタンス仕様 | 最小移行ツール仕様 |
0~1000 | 0~3000 | 0~9000 | 2 CPU コア、4 GB メモリ | 2 CPU コア、4 GB メモリ |
1000~4000 | 0~12000 | 0~36000 | 4 CPU コア、8 GB メモリ | 4 CPU コア、8 GB メモリ |
4000~7000 | 0~21000 | 0~63000 | 8 CPU コア、16 GB メモリ | 4 CPU コア、8 GB メモリ |
7000~10000 | 0~30000 | 0~90000 | 16 CPU コア、32 GB メモリ | 8 CPU コア、16 GB メモリ |
最小インスタンス仕様:本番環境では少なくとも 3 つのノードをデプロイし、クリティカルな環境では少なくとも 5 つのノードをデプロイすることをお勧めします。
最小移行ツール仕様:高可用性を実現するには、少なくとも 2 つのノードをデプロイすることをお勧めします。
手順
手順 1:移行タスクの作成
MSE Sync ツールの左側のナビゲーションペインで、[クラスター構成] をクリックします。次に、[クラスターの追加] をクリックします。[クラスターの追加] ダイアログボックスで、ソース ZooKeeper インスタンスに関する情報を追加し、[OK] をクリックします。
パラメーター
説明
クラスター名
インスタンスの名前を入力します。
クラスタータイプ
ZK を選択します。
クラスター IP
ZooKeeper インスタンスの IP アドレスとポート番号の組み合わせを 1 つ以上入力します。各組み合わせは 1 行を占めます。デフォルトのポート番号は 2181 です。例:
127.0.0.1:2181 127.0.0.2:2181 127.0.0.3:2181
ソースインスタンスがロードバランシングに Server Load Balancer (SLB) インスタンスを使用している場合は、SLB インスタンスの IP アドレスとポート番号を入力します。
[クラスターの追加] を再度クリックして、宛先 ZooKeeper インスタンスに関する情報を追加します。
クラスタータイプ:ZK を選択します。
クラスター IP アドレスリスト:MSE ZooKeeper インスタンスのエンドポイントとサービスポート番号の組み合わせを 1 つ以上入力します。例:mse-8b7de****-p.zk.mse.aliyuncs.com:2181。
左側のナビゲーションペインで、[サービス同期] をクリックします。表示されるページで、[新しい同期] をクリックします。[新しい同期] ダイアログボックスで、移行する必要がある Dubbo アプリケーションを追加します。
同期モード:双方向 を選択します。このモードでは、ソースまたは宛先インスタンスのデータが更新された場合、ソースと宛先インスタンス間でデータを同期できます。
同期タイプ:サービス情報 を選択します。MSE Sync は、ソースインスタンスに登録されているすべてのアプリケーションを自動的に表示します。ビジネス要件に基づいてアプリケーションを選択できます。
グループ名:複数のアプリケーションを同期する場合、このパラメーターは空のままにすることができます。それ以外の場合は、特定の Dubbo グループ名を入力する必要があります。
[OK] をクリックします。
同期されたアプリケーション名は、MSE Sync ツールの [サービス同期] ページに表示されます。
手順 2:同期結果の確認
MSE コンソール にログインし、上部のナビゲーションバーでリージョンを選択します。
左側のナビゲーションペインで、マイクロサービスの登録 > インスタンス を選択します。
インスタンス ページで、インスタンスの名前をクリックします。
左側のナビゲーションペインで、 をクリックします。デフォルトの Dubbo パスにサービスが存在するかどうかを確認します。
手順 3:Dubbo クライアントの移行
Dubbo クライアントのエンドポイントを変更します。
Dubbo クライアントの XML 構成ファイルを見つけ、
dubbo:registry address
内のセルフマネージド ZooKeeper インスタンスのエンドポイントを MSE ZooKeeper インスタンスのエンドポイントに置き換えます。次のコードは例を示しています。変更前:
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
変更後:
<dubbo:registry address="zookeeper://mse-8b7de****-p.zk.mse.aliyuncs.com:2181"/>
Dubbo クライアントを再起動して、クライアントを MSE ZooKeeper インスタンスに接続します。
説明ビジネスの継続性を確保するために、Dubbo クライアントをバッチで再起動することをお勧めします。再起動が完了したら、すべての Dubbo クライアントが MSE ZooKeeper インスタンスに接続されていることを確認します。
手順 4:セルフマネージド ZooKeeper インスタンスのシャットダウン
セルフマネージド ZooKeeper インスタンスをシャットダウンします。
MSE Sync ツールを無効にします。