Al implementar la solución de alta disponibilidad de Eureka en el host de Linux, descubrí que la IP de servicio registrada en el centro de servicio era aleatorio. Dado que hay varias tarjetas de red en el host, la IP aleatoria no era lo que quería. Busqué información en línea y resumí de la siguiente manera:
1 Ignorar tarjeta de red: spring.cloud.inetutil.interfaces-interfaces
#Ignore Eth0, admite expresión regular spring.cloud.inetutil.igned-interfaces [0] = eth0
2 Especificar IP: Spring.Cloud.InetUtils.Prefered-Networks
#Prefered-NetWorks se refiere a la dirección IP que tiende a usarse, recibiendo una variedad de expresiones regulares para seleccionar la dirección IP de la máquina nativa utilizada por Spring Cloud Applications. spring.cloud.inetutils.preferrednetworks [0] =^192/.168
3 modificar el archivo de host
Cuando la lógica transversal de búsqueda de red no encuentra la IP apropiada, irá a inetaddress.getLocalHost () de JDK. Este método devolverá el nombre de host del host actual y luego analizará la IP correspondiente en función del nombre de host. Por lo tanto, la segunda solución es configurar el nombre de host y /etc /hosts archivos de la máquina, y asignar directamente el nombre de host de la máquina a la dirección IP válida.
4 Especifique la instancia IP
#Specify the ipeureka.instance.ip-address =#use IP en lugar de hostname eureka.instance.prefer-ip-address = true para el registro
5 Pase el parámetro de comando jar
java -jar xxx.jar --spring.cloud.inetutils.prefered-networks = #La dirección IP que debe configurarse o java -jar xxx.jar --spring.cloud.inetutil.igned -interfaces = #the red de red que debe filtrarse fuera
El novato anterior ha estado luchando por una tarde, y todos tienen una buena manera de comunicarse juntos. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.