Lors du déploiement de la solution de haute disponibilité Eureka sur l'hôte Linux, j'ai constaté que le service IP enregistré au centre de service était aléatoire. Puisqu'il y a plusieurs cartes réseau sur l'hôte, l'IP aléatoire n'était pas ce que je voulais. J'ai recherché des informations en ligne et résumé comme suit:
1 Ignorer la carte réseau: printemps.cloud.inetutils.Interfaces Interfaces
#Ignore Eth0, supporte l'expression régulière Spring.cloud.inetutils.ignored interfaces [0] = eth0
2 Spécifiez IP: printemps.cloud.inetutils.freforred networks
# Networks préférés fait référence à l'adresse IP qui a tendance à être utilisée, recevant un tableau d'expressions régulières pour sélectionner l'adresse IP de la machine native utilisée par les applications Spring Cloud. Spring.cloud.inetutils.PreferredNetWorks [0] = ^ 192 / .168
3 Modifiez le fichier hôte
Lorsque la logique de traversée de recherche de réseau ne trouve pas l'IP appropriée, elle ira à inetAddress.getLocalHost de JDK. Cette méthode renverra le nom d'hôte de l'hôte actuel, puis analysera l'IP correspondant en fonction du nom d'hôte. Par conséquent, la deuxième solution consiste à configurer le nom d'hôte et / etc / hôte des fichiers de la machine, et à cartographier directement le nom d'hôte de la machine à l'adresse IP valide.
4 Spécifiez l'IP d'instance
#Specify the ipeureka.instance.ip-address = # Utilisez IP au lieu du nom d'hôte eureka.instance.prefer-ip-address = true pour l'enregistrement
5 passez le paramètre de commande jar
java -jar xxx.jar --spring.cloud.inetutils.preferred-networks = #the ip adresse qui doit être définie ou java -jar xxx.jar ---spring.cloud.inetutils.ignored-interfaces = #the network carte qui doit être filtrée
Le novice ci-dessus a du mal pendant un après-midi, et tout le monde a un bon moyen de communiquer ensemble. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.