MSE マイクロサービスレジストリの通常インスタンスは、Professional Edition と Developer Edition で利用できます (Basic Edition は販売も更新も終了しました)。MSE Nacos には独自のエンジンバージョンもあります。このトピックでは、MSE コンソールで Nacos エンジンバージョンをアップグレードする方法について説明します。
背景情報
より良いサービスを提供し、MSE マイクロサービスレジストリのエディション選択を簡素化するため、MSE マイクロサービスレジストリは 2025 年 3 月 3 日 12:00 (UTC+08:00) をもって Basic Edition のサービス提供を終了し、インスタンスリソースを解放します。この日時以降、コンソールまたはアプリケーションからこれらのインスタンスにアクセスできなくなります。Basic Edition インスタンスのサポートおよびチケットサービスは、提供終了日まで引き続き利用可能です。詳細については、「MSE マイクロサービスレジストリ Basic Edition 提供終了のお知らせ」をご参照ください。
事前準備
インスタンスエディションの選択:アップグレードの前に、「インスタンスエディション選択ガイド」を参照して、Developer Edition または Professional Edition のどちらにアップグレードするかを決定してください。課金の詳細については、「通常インスタンスの課金概要」をご参照ください。
仕様の評価:アップグレード中、MSE Nacos は登録されたサービスデータに対してダブルライトを実行し、データ整合性とアップグレードの安定性を確保します。アップグレード中にダブルライトがサービスに影響を与えるのを避けるため、作業を開始する前に、クラスター内のプロバイダーインスタンス数が、対応する仕様の Basic Edition の最大インスタンス数を超えていないことを確認してください。詳細については、「通常インスタンスの性能評価」をご参照ください。
エンジンバージョンの確認:Basic Edition インスタンスを Professional Edition または Developer Edition にアップグレードできるのは、Nacos エンジンがバージョン 1.2.1.0 以降の場合のみです。1.1.3.x バージョンを使用している場合は、まずバージョン 1.2.1 にアップグレードしてから、インスタンスエディションをアップグレードする必要があります。手順については、「Nacos エンジンバージョンのアップグレード」をご参照ください。
エンジンバージョンの互換性の確認:MSE Nacos エンジンバージョンの機能に関する詳細については、「Nacos エンジンバージョン」をご参照ください。システムの安定性のため、制限された Nacos SDK バージョンの使用は避けることを推奨します。理由と解決策については、「制限された Nacos SDK バージョン」をご参照ください。
Eureka エンジン:MSE が管理する Eureka サービスは提供を終了しました。MSE Nacos は Eureka プロトコルをサポートし、Eureka クライアントと互換性があります。Eureka Basic Edition インスタンスを MSE Nacos Professional Edition または Developer Edition に移行することを推奨します。
アップグレードの影響
アップグレードには約 10 分かかります。この間、コンソールでインスタンスに対する操作は一切実行できません。サービスの混乱を避けるため、オフピーク時にアップグレードを実行することを推奨します。
3 つ以上のノードを持つインスタンスの場合、アップグレードは自動データ同期を伴うノード間のローリングデプロイを使用し、無停止アップグレードを保証します。
ほとんどのサービスでは、アップグレードは無損失です。ただし、アップグレード中のネットワーク再接続により、一部の再接続およびアクセスエラーログが生成される場合があります。これは想定内の動作です。また、クラスターの再起動により、監視データに一時的な変動が見られることがあります。
一部の特殊なシナリオでは、無停止アップグレードが保証されない場合があります。アップグレードを実行する前に、以下の条件を確認してください:
1 つまたは 2 つのノードを持つインスタンスは高可用性 (HA) インスタンスではないため、アップグレードによってダウンタイムが発生します。
古いクライアントバージョンを使用している場合、アップグレード中のパケット損失やその他の未知の異常がクライアントのバグを引き起こし、サービスがオフラインになる可能性がごくわずかにあります。この場合、アップグレードによってダウンタイムが発生します。
下位バージョンの Spring Cloud Alibaba を使用しており、Spring Cloud Actuator のヘルスチェックパスをサービスの
livenessまたはreadinessプローブとして設定している場合、古い Spring Cloud Alibaba バージョンのバグにより、プローブの失敗が原因でアプリケーションが自動的に再起動する可能性がごくわずかにあります。この場合、アップグレードによってダウンタイムが発生します。
Eureka エンジンから Nacos Professional Edition または Developer Edition にアップグレードする場合:
アプリケーションコードを変更する必要はありません。
アップグレード中のネットワーク再接続により、少数の登録済みインスタンスでハートビート更新が失敗する可能性があります。Eureka クライアントは、次回の更新時に自動的に登録をリトライし、正常なサーバーノードに接続した後に回復します。
デフォルトでは、Eureka Basic Edition インスタンスは、エンジンバージョン 2.1.2.2 の Nacos Developer Edition または Professional Edition に移行されます。その後、最新の Nacos バージョンにアップグレードできます。詳細については、「Nacos エンジンバージョンのアップグレード」をご参照ください。
アップグレードパス
Basic Edition から Professional Edition または Developer Edition にアップグレードできるのは、Nacos エンジンがバージョン 1.2.1.0 以降の場合のみです。1.1.3.x バージョンを使用している場合は、まずエンジンをバージョン 1.2.1 にアップグレードする必要があります。手順については、「Nacos エンジンバージョンのアップグレード」をご参照ください。
Nacos エンジンバージョンのアップグレード
Nacos 1.1.3 は提供が終了しており、メンテナンスもされていません。問題を避けるため、できるだけ早くエンジンバージョンを 1.2.1 以降にアップグレードしてください。
アップグレード後、コンソールからバージョンをロールバックすることはできません。ご不明な点がある場合は、DingTalk グループ ID 43525005207 に参加してサポートを受けてください。
-
MSE コンソールにログインし、上部のナビゲーションバーでリージョンを選択します。
-
左側のナビゲーションウィンドウで、マイクロサービスの登録 > インスタンス を選択します。
コンソールからアップグレードを開始するには、2 つの方法があります:
説明ターゲットインスタンスがすでに最新バージョンの場合、手動スペックアップ オプションは表示されません。
方法 1
インスタンス ページで、ターゲットインスタンスを見つけ、Engine Version 列の 手動スペックアップ をクリックします。
方法 2
インスタンス ページで、スペックアップするインスタンスをクリックします。基本情報 ページで、Engine Version の横にある 手動スペックアップ をクリックします。
Cluster Upgrade ダイアログボックスで、OK をクリックします。
Nacos/Eureka Basic Edition のアップグレード
-
MSE コンソールにログインし、上部のナビゲーションバーでリージョンを選択します。
-
インスタンス ページで、MSE インスタンスを見つけ、操作 列の [その他] をクリックします。
-
サブスクリプションインスタンスの場合は、ビジネス要件に基づいてスペックアップまたはスペックダウンを選択します。
-
従量課金インスタンスの場合は、スペック変更 を選択します。
-
仕様変更ページで、Product Edition を選択します:
単一ノードインスタンスの場合は、Developer Edition を選択します。
複数ノードインスタンスの場合は、Professional Edition を選択します。
重要Product Edition を変更する際には、以下の制限が適用されます:
Basic Edition インスタンスは、Developer Edition または Professional Edition にアップグレードできます。
Developer Edition インスタンスは、Developer Edition の新しいバージョンにのみアップグレードできます。Professional Edition にはアップグレードできません。
Professional Edition インスタンスは、Professional Edition の新しいバージョンにのみアップグレードできます。Developer Edition にはスペックダウンできません。
Engine specification と クラスターノード数 を確認し、右下の合計費用を確認してから、[今すぐ購入] をクリックします。
よくある質問
クライアントバージョン
Q:Professional Edition は古いクライアントをサポートしていますか?
設定センターは Nacos クライアント 1.0.0 以降と互換性があります。サービスディスカバリは Nacos クライアント 1.2.0 以降と互換性があります。Nacos 1.x.x クライアントは接続保持をサポートしていないため、Nacos クライアント 2.0.0 以降の使用を推奨します。
Q:Spring Cloud Alibaba または Dubbo クライアントをアップグレードする方法
Spring Cloud Alibaba
Spring Cloud Alibaba の Nacos クライアントをアップグレードするには、依存関係で指定します:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>Dubbo
Dubbo の Nacos クライアントをアップグレードするには、依存関係で指定します:
Dubbo バージョン 2.7.8 には、過剰な Nacos クライアントインスタンスを作成し、接続とスレッドの急増を引き起こす重大なバグがあります。Nacos クライアントをアップグレードする前に、Dubbo のバージョンをアップグレードしてください。詳細については、問題の詳細をご参照ください。
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>${dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>アップグレード後のエラー
エラー:Connection is unregistered または Client not connected,current status:STARTING
現象:MSE インスタンスを Professional Edition にアップグレードし、アプリケーションの Nacos クライアントを更新した後、アプリケーションの起動に失敗し、エラー
Connection is unregisteredまたはClient not connected,current status:STARTINGが報告されます。原因:クライアントがサーバーとの gRPC 接続を確立できません。以下の手順でトラブルシューティングを行ってください:
コマンド
telnet ${nacos.server.address}:9848を実行して、ネットワーク接続をテストします。ご利用のアプリケーションと MSE インスタンスが同じ VPC 内にあるか確認します。
インターネット経由で接続している場合は、まずパブリック IP アドレスホワイトリストを設定する必要があります。
アプリケーションのポート設定を変更する必要はありません。8848 のままにしてください。Nacos クライアントは自動的に正しい gRPC ポートを計算します。
エラー:Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.
現象:MSE を Professional Edition に、アプリケーションクライアントをアップグレードした後、起動エラー
"Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.”が発生します。原因:MSE Professional Edition は、新旧バージョン間でデータを同期し、整合性を確保するためにダブルライトを実行します。このプロセス中、Nacos 2.0.0 クライアントからのリクエストを一時的に拒否します。Nacos 1.x.x クライアントからのリクエストおよびコンソール操作は影響を受けません。スイッチオーバーは自動的に完了し、通常はインスタンスのサイズに応じて 5〜20 分かかります。
推奨事項:数分待ってからアプリケーションを再起動してください。