Microservices Engine (MSE) propose des registres gérés Nacos, ZooKeeper et Eureka pour les applications Spring Cloud et Dubbo. Cette rubrique présente les prérequis à la création d'une instance, la configuration des applications pour chaque type de registre ainsi que les étapes de dépannage.
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Un compte Alibaba Cloud avec le service MSE activé
Une instance Elastic Compute Service (ECS) hébergeant votre application
Les informations relatives au VPC et à la région de votre instance ECS
Créer une instance
Lors de la création d'une instance MSE, configurez les paramètres suivants :
| Paramètre | Exigence |
|---|---|
| Type de réseau : VPC | Sélectionnez le même VPC que celui de l'instance ECS hébergeant votre application. |
| Type de réseau : Internet | Configurez une liste d'autorisation d'adresses IP. Spécifiez les blocs CIDR au format <ECS public IP>/32. Pour plus d'informations, consultez Configurer une liste blanche d'adresses IP publiques. |
| Région | Si vous choisissez VPC comme type de réseau, sélectionnez la même région que celle de l'instance ECS hébergeant votre application. |
| Bande passante publique | Pour accéder à l'instance MSE via Internet, définissez la bande passante publique sur une valeur supérieure à 0. Un endpoint public n'est généré que si la bande passante publique est non nulle. |
Se connecter à un registre Nacos
Tous les exemples de configuration utilisent l'endpoint public de votre instance MSE comme adresse du serveur. Remplacez mse-XX-p.nacos-ans.mse.aliyuncs.com par votre endpoint réel.
Spring Cloud
Ajoutez la configuration suivante à votre fichier application.properties :
spring.application.name=service-provider
server.port=18081
# Replace with the public endpoint of your MSE Nacos instance
spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848
Pour utiliser un namespace personnalisé, ajoutez :
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"/>
<!-- Replace with the public endpoint of your MSE Nacos instance -->
<dubbo:registry address="nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848"/>
Pour utiliser un namespace personnalisé, mettez à jour l'adresse du registre :
<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
# Replace with the public endpoint of your MSE Nacos instance
dubbo.registry.address=nacos://mse-XX-p.nacos-ans.mse.aliyuncs.com:8848
Pour utiliser un namespace personnalisé, ajoutez :
dubbo.registry.parameters.namespace=<your-namespace-id>
Pour plus d'informations sur Nacos, consultez Nacos.
Se connecter à un registre ZooKeeper
Spring Cloud
Ajoutez la configuration suivante à votre fichier application.yml :
spring:
application:
name: demo-provider
cloud:
zookeeper:
# Replace with the public endpoint of your MSE ZooKeeper instance
connect-string: mse-XX-p.nacos-ans.mse.aliyuncs.com:2181
discovery:
enabled: true
Dubbo (XML)
<!-- Replace with the public endpoint of your MSE ZooKeeper instance -->
<dubbo:registry address="zookeeper://mse-XX-p.nacos-ans.mse.aliyuncs.com:2181" />
Se connecter à un registre Eureka
Spring Cloud
Ajoutez la configuration suivante à votre fichier application.yml :
server:
port: 8080
spring:
application:
name: demo-provider
eureka:
client:
serviceUrl:
# Replace with the public endpoint of your MSE Eureka instance
defaultZone: http://mse-XXX-p.eureka.mse.aliyuncs.com:8761/eureka
instance:
prefer-ip-address: true
Configurer un centre de configuration
Pour obtenir des exemples de code relatifs au centre de configuration, consultez la documentation du SDK Java Nacos.
Dépanner les problèmes liés aux registres Nacos
En cas de problème lors de l'utilisation d'un registre MSE Nacos, examinez les journaux du client Nacos dans le fichier naming.log situé dans le répertoire suivant :
${user.home}/logs/nacos/naming.log