Microservices Engine (MSE) のマイクロサービスレジストリは、プロフェッショナルエディションとデベロッパーエディションを提供しています。MSE コンソールで Nacos エンジンのバージョンをアップグレードしたり、廃止されたベーシックエディションから移行したりできます。
背景情報
MSE のマイクロサービスレジストリのベーシックエディションは廃止され、そのインスタンスは 2025年3月3日 12:00 (UTC+8) に終了します。この時刻以降、コンソールまたはアプリケーションからこれらのインスタンスにアクセスできなくなります。ベーシックエディションのインスタンスのサポートおよびチケットサービスは、期限まで引き続き利用可能です。詳細については、MSEマイクロサービスレジストリのベーシックエディションの提供終了のお知らせをご参照ください。
前提条件
-
インスタンスエディションの選択: アップグレードする前に、「インスタンスエディション選択ガイド」を参照して、デベロッパーエディションとプロフェッショナルエディションのどちらにアップグレードするかを決定してください。課金の詳細については、「共通インスタンスの課金概要」をご参照ください。
-
仕様の評価: アップグレード中、MSE Nacos は登録されたサービスデータに対してダブルライトを実行し、データの一貫性を確保します。開始する前に、クラスター内のプロバイダーインスタンスの数がベーシックエディションの仕様の容量を超えていないことを確認してください。詳細については、「共通インスタンスの機能評価」をご参照ください。
-
エンジンバージョンの確認: ベーシックエディションのインスタンスをプロフェッショナルエディションまたはデベロッパーエディションにアップグレードできるのは、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 ベーシックエディションのインスタンスを MSE Nacos のプロフェッショナルエディションまたはデベロッパーエディションに移行してください。
アップグレードによる影響
-
アップグレードには約 10 分かかります。この間、コンソールでインスタンスに対していかなる操作も実行できません。サービスの中断を避けるため、オフピーク時にアップグレードを実行することを推奨します。
-
3つ以上のノード を持つインスタンスの場合、アップグレードはノード間でローリングデプロイを使用し、自動的にデータ同期が行われます。これにより、ゼロダウンタイムアップグレード が保証されます。
-
1つまたは2つのノードを持つインスタンスは高可用性インスタンスではないため、アップグレードによってダウンタイムが発生します。
-
アップグレードはサービスに対してシームレスに設計されています。ただし、ネットワークの再接続が発生し、再接続ログが生成される場合があります。また、クラスターの再起動により、監視データに一時的な変動が見られることがあります。
-
Eureka エンジン から Nacos のプロフェッショナルエディションまたはデベロッパーエディションにアップグレードする場合:
-
アプリケーションコードを変更する必要はありません。
-
アップグレード中のネットワーク再接続により、一部の登録済みインスタンスでハートビート更新が失敗する可能性があります。Eureka クライアントは次の更新サイクルで自動的に登録を再試行し、正常なサーバーノードに接続した後に回復します。
-
デフォルトでは、Eureka ベーシックエディションのインスタンスは、エンジンバージョン 2.1.2.2 の Nacos デベロッパーエディションまたはプロフェッショナルエディションに移行されます。その後、最新の Nacos バージョンにアップグレードできます。詳細については、「Nacos エンジンのバージョンのアップグレード」をご参照ください。
-
アップグレードパス
ベーシックエディションからプロフェッショナルエディションまたはデベロッパーエディションにアップグレードできるのは、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つの方法があります:
説明対象のインスタンスがすでに最新バージョンの場合、Manual Upgrade オプションは表示されません。
方法 1
インスタンス ページで対象のインスタンスを見つけ、Engine Version 列の Manual Upgrade をクリックします。
方法 2
インスタンス ページで、アップグレードしたいインスタンスをクリックします。基本情報 ページで、Engine Version の横にある Manual Upgrade をクリックします。
-
Cluster Upgrade ダイアログボックスで、OK をクリックします。
Nacos/Eureka ベーシックエディションのアップグレード
[MSE コンソール] にログインし、上部のナビゲーションバーでリージョンを選択します。
インスタンス ページで、MSE インスタンスを見つけ、[詳細]操作 列の をクリックします。
サブスクリプションインスタンスの場合は、ビジネス要件に基づいて アップグレード または ダウングレード を選択します。
従量課金インスタンスの場合は、アップグレード/ダウングレード を選択します。
-
仕様変更ページで、Product Edition を選択します:
-
単一ノードインスタンスの場合は、デベロッパーエディションを選択してください。
-
複数ノードインスタンスの場合は、プロフェッショナルエディションを選択してください。
重要Product Edition を変更する際には、以下の制限が適用されます:
-
[Basic Edition] のインスタンスは、[Developer Edition]または[Professional Edition]にアップグレードできます。
-
[Developer Edition] のインスタンスは、[Developer Edition]の新しいバージョンにのみアップグレードできます。[Professional Edition]にはアップグレードできません。
-
[Professional Edition] のインスタンスは、[Professional Edition]の新しいバージョンにのみアップグレードできます。[Developer Edition]にはダウングレードできません。
-
-
Engine specification と Number of Cluster Nodes を確認します。右下隅で合計コストを確認した後、[Buy now] をクリックします。
よくある質問
クライアントバージョン
Q:プロフェッショナルエディションは古いクライアントをサポートしていますか?
A:設定センターは、すべての 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 インスタンスをプロフェッショナルエディションにアップグレードし、アプリケーションの 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 をプロフェッショナルエディションに、アプリケーションクライアントをアップグレードした後、
"Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.”という起動エラーが発生します。 -
原因:MSE プロフェッショナルエディションのインスタンスは、切り替え後のデータの一貫性を確保するために、新旧バージョン間でデータを同期するダブルライトと検証プロセスを実行します。この間、Nacos 2.0.0 クライアントからのリクエストを一時的に拒否します。Nacos 1.x.x クライアントからのリクエストとコンソール操作は影響を受けません。同期と検証が完了すると、インスタンスは自動的に切り替わります。これには通常、インスタンスのサイズに応じて 5〜20 分かかります。
-
推奨事項:このイシューに遭遇した場合は、数分待ってからアプリケーションを再起動してください。