マイクロサービスエンジン(MSE)インスタンスをより効果的に使用するために、MSE インスタンスの作成時に注意すべき点と、Spring Cloud アプリケーションと Dubbo アプリケーションを開発する際の構成コードについて理解しておきましょう。
インスタンスの作成
MSE インスタンスを作成する際は、ネットワークタイプ、リージョン、パブリック帯域幅を指定する必要があります。これらの項目を指定する際には、以下の点に注意してください。
ネットワークタイプ
仮想プライベートクラウド(VPC):選択する VPC は、アプリケーションが存在する Elastic Compute Service(ECS)インスタンスの VPC と同じである必要があります。
インターネット:アプリケーションがインターネット経由で MSE インスタンスにアクセスする必要がある場合は、IP アドレスホワイトリストを設定する必要があります。IP アドレスホワイトリストの CIDR ブロックは、ECS インスタンスのパブリック IP アドレス/32 形式である必要があります。詳細については、「パブリック IP アドレスのホワイトリストの構成」をご参照ください。
リージョン
ネットワークタイプとして VPC を選択した場合、選択するリージョンは、アプリケーションが存在する ECS インスタンスのリージョンと同じである必要があります。
パブリック帯域幅
アプリケーションがインターネット経由で MSE インスタンスにアクセスする必要がある場合は、パブリック帯域幅を設定する必要があります。パブリックエンドポイントは、パブリック帯域幅が 0 より大きい場合にのみ生成されます。
レジストリの使用
MSE は、Nacos レジストリ、Eureka レジストリ、ZooKeeper レジストリなど、複数のタイプのレジストリを提供し、Spring Cloud アプリケーションと Dubbo アプリケーションの管理を支援します。詳細については、Nacos をご参照ください。
Nacos
Spring Cloud アプリケーション向けの MSE Nacos レジストリのサンプルコード
spring.application.name=service-provider server.port=18081 spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848 # mse-XX-p.nacos-ans.mse.aliyuncs.com は、MSE 上に作成された Nacos インスタンスのパブリックエンドポイントです。 # 作成した名前空間を使用する場合は、次の設定を使用します。 #spring.cloud.nacos.discovery.namespace=11a8ca4c-xxx-xxx-xxx-6aad4dab92a9Dubbo アプリケーション向けの MSE Nacos レジストリのサンプルコード
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"/> <dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848"/> # mse-XX-p.nacos-ans.mse.aliyuncs.com は、MSE 上に作成された Nacos インスタンスのパブリックエンドポイントです。 # 作成した名前空間を使用する場合は、次の設定を使用します。 #<dubbo:registry address="nacos://mse-XX.nacos-ans.mse.aliyuncs.com:8848?namespace=d5cbb70a5-xxx-xxx-84c1-d43479ae0932"/>.properties ファイルを使用する
dubbo.application.name=dubbo-consumer-demo server.port=8080 dubbo.registry.address=nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848 # mse-XX-p.nacos-ans.mse.aliyuncs.com は、MSE 上に作成された Nacos インスタンスのパブリックエンドポイントです。 # 作成した名前空間を使用する場合は、次の構成を使用します。 dubbo.registry.parameters.namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932<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"/> <dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848"/>
ZooKeeper
Spring Cloud アプリケーション向けの MSE ZooKeeper レジストリのサンプルコード
spring: application: name: demo-provider cloud: zookeeper: connect-string: mse-XX-p.nacos-ans.mse.aliyuncs.com:2181 discovery: enabled: trueDubbo アプリケーション向けの MSE ZooKeeper レジストリのサンプルコード
<dubbo:registry address="zookeeper://mse-XX-p.nacos-ans.mse.aliyuncs.com:2181" />
Eureka
Spring Cloud アプリケーション向けの MSE Eureka レジストリのサンプルコード
server:
port: 8080
spring:
application:
name: demo-provider
eureka:
client:
serviceUrl:
defaultZone: http://mse-XXX-p.eureka.mse.aliyuncs.com:8761/eureka
instance:
prefer-ip-address: true構成センターのサンプルコードについては、Java SDK をご参照ください。
Nacos レジストリの問題のトラブルシューティング
MSE Nacos レジストリの使用中に問題が発生した場合、${user.home}/logs/nacos/ ディレクトリの naming.log ファイルで Nacos クライアントログを確認できます。