Microservices Engine (MSE) は、Spring Cloud および Dubbo アプリケーション向けに、マネージド型の Nacos、ZooKeeper、および Eureka レジストリを提供します。このトピックでは、インスタンス作成の要件、各レジストリタイプに応じたアプリケーション設定、およびトラブルシューティングの手順について説明します。
前提条件
開始する前に、以下をご確認ください。
MSE が有効化された Alibaba Cloud アカウント
アプリケーションが実行される Elastic Compute Service (ECS) インスタンス
ご利用の ECS インスタンスの Virtual Private Cloud (VPC) とリージョン情報
インスタンスの作成
MSE インスタンスを作成する際は、次の設定を行います。
| 設定 | 要件 |
|---|---|
| ネットワークタイプ: VPC | アプリケーションが実行されている ECS インスタンスと同じ VPC を選択します。 |
| ネットワークタイプ: インターネット | IP アドレスホワイトリストを設定します。CIDR ブロックを <ECS パブリック IP>/32 のフォーマットで指定します。詳細については、「パブリック IP アドレスホワイトリストの設定」をご参照ください。 |
| リージョン | ネットワークタイプとして VPC を選択した場合は、アプリケーションが実行されている ECS インスタンスと同じリージョンを選択します。 |
| パブリック帯域幅 | インターネット経由で MSE インスタンスにアクセスするには、パブリック帯域幅を 0 より大きい値に設定する必要があります。パブリックエンドポイントは、パブリック帯域幅が 0 以外の場合にのみ生成されます。 |
Nacos レジストリへの接続
すべての設定例では、MSE インスタンスのパブリックエンドポイントをサーバーアドレスとして使用します。mse-XX-p.nacos-ans.mse.aliyuncs.com を実際の エンドポイントに置き換えてください。
Spring Cloud
application.properties ファイルに次の設定を追加します。
spring.application.name=service-provider
server.port=18081
# ご利用の MSE Nacos インスタンスのパブリックエンドポイントに置き換えます
spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848カスタム名前空間を使用するには、以下を追加します。
spring.cloud.nacos.discovery.namespace=<your-namespace-id>Dubbo (XML)
<dubbo:application name="demo-provider"/>
<dubbo:protocol name="dubbo" port="28082" />
<dubbo:service interface="com.alibaba.dubbo.api.IHelloService" ref="helloService"/>
<bean id="helloService" class="com.alibaba.dubbo.service.impl.IHelloServiceImpl"/>
<!-- ご利用の MSE Nacos インスタンスのパブリックエンドポイントに置き換えます -->
<dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848"/>カスタム名前空間を使用するには、レジストリアドレスを更新します。
<dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848?namespace=<your-namespace-id>"/>Dubbo (.properties)
dubbo.application.name=dubbo-consumer-demo
server.port=8080
# ご利用の MSE Nacos インスタンスのパブリックエンドポイントに置き換えます
dubbo.registry.address=nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848カスタム名前空間を使用するには、以下を追加します。
dubbo.registry.parameters.namespace=<your-namespace-id>Nacos の詳細については、「Nacos」をご参照ください。
ZooKeeper レジストリへの接続
Spring Cloud
application.yml ファイルに次の設定を追加します。
spring:
application:
name: demo-provider
cloud:
zookeeper:
# ご利用の MSE ZooKeeper インスタンスのパブリックエンドポイントに置き換えます
connect-string: mse-XX-p.nacos-ans.mse.aliyuncs.com:2181
discovery:
enabled: trueDubbo (XML)
<!-- ご利用の MSE ZooKeeper インスタンスのパブリックエンドポイントに置き換えます -->
<dubbo:registry address="zookeeper://mse-XX-p.nacos-ans.mse.aliyuncs.com:2181" />Eureka レジストリへの接続
Spring Cloud
application.yml ファイルに次の設定を追加します。
server:
port: 8080
spring:
application:
name: demo-provider
eureka:
client:
serviceUrl:
# ご利用の MSE Eureka インスタンスのパブリックエンドポイントに置き換えます
defaultZone: http://mse-XXX-p.eureka.mse.aliyuncs.com:8761/eureka
instance:
prefer-ip-address: trueコンフィグレーションセンターの設定
コンフィグレーションセンターのサンプルコードについては、「Nacos Java SDK ドキュメント」をご参照ください。
Nacos レジストリの問題のトラブルシューティング
MSE Nacos レジストリの使用中に問題が発生した場合は、次のディレクトリにある naming.log ファイルで Nacos クライアントログを確認してください。
${user.home}/logs/nacos/naming.log