Guide d'erreur de démarrage de la série Nacos2.0

Récemment, j'ai mis à jour la version de chaque composant de mon microservice quand je n'avais rien à faire. Poursuivre la nouvelle version a toujours été une opération de base pour moi. Après tout, le courage d'essayer quelque chose de nouveau est le comportement du roi. En conséquence, lors de la mise à niveau de la version Nacos, elle s'est directement renversée et Nacos a directement signalé une erreur au démarrage. Immédiatement, les frères et sœurs sont bons. J'ai réfléchi à la question de savoir s'il y avait de nouvelles fonctionnalités ou d'autres ajustements dans la nouvelle version, alors je suis allé à l'officiel site Web pour y jeter un coup d'œil. Effectivement, il y a eu quelques différences après la mise à jour de la version. Jetons un coup d'œil ensemble.

1. Message d'erreur

com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: 
	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:288) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.doSubscribe(NamingGrpcClientProxy.java:229) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.subscribe(NamingGrpcClientProxy.java:214) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate.subscribe(NamingClientProxyDelegate.java:147) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.client.naming.NacosNamingService.subscribe(NacosNamingService.java:393) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.cloud.nacos.discovery.NacosWatch.start(NacosWatch.java:133) ~[spring-cloud-starter-alibaba-nacos-discovery-2.2.9.RELEASE.jar:2.2.9.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:895) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.15.RELEASE.jar:5.2.15.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:755) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:402) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1247) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1236) ~[spring-boot-2.3.12.RELEASE.jar:2.3.12.RELEASE]
	at cn.youhaveme.MicroCoreApplication.main(MicroCoreApplication.java:11) ~[classes/:na]
Caused by: com.alibaba.nacos.api.exception.NacosException: Client not connected, current status:STARTING
	at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:651) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.common.remote.client.RpcClient.request(RpcClient.java:631) ~[nacos-client-2.1.0.jar:na]
	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:278) ~[nacos-client-2.1.0.jar:na]
	... 20 common frames omitted

2. Enquête sur la raison

Tout d'abord, regardons les différences dans la nouvelle version de Nacos. Le document officiel montre que Nacos 2.0 a ajouté une méthode de communication gRPC par rapport à 1.X, il est donc nécessaire d'ajouter 2 ports. Les nouveaux ports sont configuré dans le principal Basé sur le port (serveur.port), un certain décalage est automatiquement généré.

port Décalage du port maître décrire
9848 1000 Le client gRPC demande le port du serveur, qui est utilisé par le client pour initier une connexion et une demande au serveur
9849 1001 Le serveur gRPC demande le port du serveur, qui est utilisé pour la synchronisation entre les services, etc.

C'est-à-dire qu'avant que Nacos n'ouvre le port 8848 par défaut, il peut servir normalement (mais cela n'est limité qu'au cas où vous ne modifiez pas le port par défaut), maintenant vous devez ouvrir deux autres ports décalés, si vous le faites n'ouvrez pas le port de décalage, il apparaîtra La partie du message d'erreur ci-dessus est demandée. En fait, on peut voir à peu près d'après le message d'erreur que les erreurs signalées sont essentiellement des erreurs liées. À ce stade, le problème de l'activation du gRPCdécalage port sera résolu.

De plus, un problème de compatibilité mentionné dans le document officiel nécessite également une attention particulière, c'est-à-dire que le serveur Nacos2.0 est entièrement compatible avec le client 1.X. Étant donné que le client Nacos2.0 utilise gRPC, il n'est pas compatible avec le serveur Nacos1.X. N'utilisez pas une version client supérieure à 2.0 pour vous connecter au serveur Nacos1.X.

3. Documents officiels

https://nacos.io/zh-cn/docs/2.0.0-compatibility.html

Je suppose que tu aimes

Origine blog.csdn.net/active_pig/article/details/126921665
conseillé
Classement