Eureka、ZooKeeper、および Nacos は、Java マイクロサービスフレームワークで一般的なサービスレジストリです。サービスレジストリは、サービスの登録と検出を実行するために使用されます。サービスレジストリを使用すると、サービスを分離し、依存関係管理から解放できます。このようにして、マイクロサービスを動的に管理できます。このトピックでは、Enterprise Distributed Application Service(EDAS)でサポートされているサービスレジストリと、これらのサービスレジストリの O&M を実行する方法について説明します。
サービスレジストリ
EDAS は、Eureka、ZooKeeper、および Nacos のサービスレジストリをサポートしています。各サービスレジストリの詳細については、対応する公式 Web サイトまたは GitHub リポジトリにアクセスしてください。実際のニーズに基づいてサービスレジストリを選択できます。
EDAS は、アプリケーションで使用されているサービスレジストリのタイプに関係なく、アプリケーションのホスティングとマイクロサービスガバナンスサービスを提供します。
EDAS は、アプリケーションで使用されているさまざまなタイプのサービスレジストリに対応するために、さまざまな O&M 方法を提供します。
Nacos を使用する
Nacos をサービスレジストリとして使用する場合は、次の 2 つのオプションを使用できます。
EDAS の共有サービスレジストリを使用する
EDAS は、Nacos の一般提供(GA)バージョンと統合されています。EDAS は、O&M を必要としない共有サービスレジストリの形式で、Nacos のサービス登録および検出機能を提供します。
利点
EDAS の共有サービスレジストリには、次の利点があります。
共有サービスレジストリは、サービスレジストリのデプロイと O&M のコストを節約します。
サービスの登録と検出中の呼び出しでは、リンクが暗号化されます。これにより、サービスが不正なアプリケーションによって検出されるのを防ぎます。
EDAS の共有サービスレジストリは、他の EDAS コンポーネントと完全に統合されており、包括的なマイクロサービスソリューションを提供します。
操作
Kubernetes アプリケーションを作成またはデプロイするときに、[アプリケーション用に構成されたサービスレジストリを使用する] をオフにします。これにより、アプリケーション構成で指定された Nacos サービスレジストリの URL が、EDAS の共有サービスレジストリの URL で上書きされます。
MSE 管理または自己管理の Nacos サービスレジストリを使用する
操作
Kubernetes アプリケーションを作成またはデプロイするときに、[アプリケーション用に構成されたサービスレジストリを使用する] を選択します。アプリケーションのデプロイ中に、構成済みの Nacos サービスレジストリの URL が EDAS の共有サービスレジストリの URL で上書きされないようにするために、EDAS はアプリケーション構成に次の設定を追加します。これにより、アプリケーションはアプリケーション構成で指定されたサービスレジストリを使用します。
説明アプリケーション構成で指定されたサービスレジストリが、EDAS にデプロイされたアプリケーションに接続できることを確認してください。たとえば、サービスレジストリはアプリケーションと同じ仮想プライベートクラウド(VPC)内にあります。
Nacos 2.X はすべてのリージョンからのアクセスをサポートしていません。したがって、クライアントはポート 9848 に接続できません。
[アプリケーション用に構成されたサービスレジストリを使用する] を指定する方法の詳細については、「マイクロサービスガバナンスを構成する」をご参照ください。
-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false
Eureka または ZooKeeper を使用する
MSE 管理または自己管理の Eureka または ZooKeeper サービスレジストリを使用できます。Microservice Engine(MSE)と MSE 管理サービスレジストリの利点の詳細については、「MSE とは」をご参照ください。
アプリケーション構成で指定されたサービスレジストリが、EDAS にデプロイされたアプリケーションに接続できることを確認してください。たとえば、サービスレジストリはアプリケーションと同じ VPC 内にあります。
操作
EDAS コンソールで Eureka または ZooKeeper サービスレジストリを使用して Kubernetes アプリケーションを作成またはデプロイするときに、[アプリケーション用に構成されたサービスレジストリを使用する] を選択します。操作の実行方法の詳細については、「マイクロサービスガバナンスを構成する」をご参照ください。
アプリケーション構成で Eureka または ZooKeeper を Nacos に変更して、EDAS の共有サービスレジストリを使用することもできます。
他のタイプのサービスレジストリを使用する
Consul などの他のタイプのサービスレジストリを使用する場合は、サービスレジストリを自己管理する必要があります。
アプリケーション構成で指定されたサービスレジストリが、EDAS にデプロイされたアプリケーションに接続できることを確認してください。たとえば、サービスレジストリはアプリケーションと同じ VPC 内にあります。
操作
EDAS コンソールで別のタイプのサービスレジストリを使用して Kubernetes アプリケーションを作成またはデプロイするときに、[アプリケーション用に構成されたサービスレジストリを使用する] を選択します。操作の実行方法の詳細については、「マイクロサービスガバナンスを構成する」をご参照ください。
このタイプのサービスレジストリをアプリケーション構成で Nacos に変更して、EDAS の共有サービスレジストリを使用することもできます。
FAQ
EDAS の共有サービスレジストリに接続するときに、HTTP 403 ステータスコードが表示されるのはなぜですか?
EDAS テナントの認証情報は EDAS に挿入されます。ユーザー名とパスワードによる認証は、テナント情報による認証よりも優先されます。したがって、アプリケーション構成でサービスレジストリ用に構成されたユーザー名とパスワードを削除する必要があります。
MSE Nacos サービスレジストリに接続するにはどうすればよいですか?
MSE Nacos サービスレジストリに接続するには、次の操作を実行します。マイクロサービス名前空間を作成するときに、MSE サービスレジストリを MSE Nacos インスタンスに関連付けます。次に、アプリケーションを作成するときに、このマイクロサービス名前空間を選択します。マイクロサービス名前空間の作成方法の詳細については、「マイクロサービス名前空間を作成する」をご参照ください。
共有サービスレジストリを使用するときに、コードで共有サービスレジストリの構成を読み取るにはどうすればよいですか?
EDAS と統合されている Application Configuration Management(ACM)は、ACM が廃止された後も影響を受けません。