El cliente fingido y el servicio eureka no están en el mismo servidor, la conexión del informe de acceso al servicio rechazó el error

  Recientemente, la arquitectura técnica de un proyecto de la compañía es el grupo familiar springcloud. Por supuesto, la gestión de microservicios es eureka. La llamada del cliente es una llamada de simulación. Cerca de la etapa de lanzamiento de producción. Queremos implementar dos instancias de cada servicio de eureka para equilibrar la carga del servidor. Después de que el servicio de la máquina está activo, el proyecto se ejecuta aparentemente sin problemas, pero probamos para verificar múltiples situaciones. Detuvimos el servicio de un servidor y mantuvimos solo al cliente simulado. Cuando la solicitud externa llegó al cliente simulado, se informó un error. Ya

  excepción es fingir.RetryableException: Conexión rechazada (Conexión rechazada) ejecutando GET http : // ...

  Así que abrí la interfaz de eureka para verificar el estado del servicio. El estado del servicio es normal, pero parece que el cliente fingido realmente accede, e inicio el servicio de la máquina donde se encuentra el cliente fingido. El otro servicio se detiene y se accede nuevamente. , Ok, no hay error, es normal, solo inténtelo varias veces y descubra que el cliente y el proveedor de servicios fingidos no están en el mismo servidor informarán este error, en primer lugar porque el nombre de la instancia se ve cuando se acaba de iniciar el entorno de la instancia multiservicio Se muestra en localhost: XXX, por lo que se registró con ip desde el principio

eureka.instance.prefer-ip-adderss = true 
eureka.instance.instance-id = $ {spring.cloud.client.ip-address}: $ {server.port}

 

 

La imagen de arriba muestra todos los puertos ip plus. Antes de que no haya un método de registro de ip, habrá una instancia de localhost: puerto. En teoría, creo que el cliente Feign debería poder acceder al servicio cuando se accede, pero no es posible Pase el mouse sobre el nombre de la instancia y miro la esquina inferior izquierda

 

 Se puede acceder a esta imagen después de la última modificación y se muestra correctamente. El host local que se muestra aquí antes de la modificación muestra que el nombre de host expuesto sigue siendo el servidor real, por lo que el servicio de Eureka recibe un nombre de host cuando se registra La dirección IP de la máquina es suficiente, agregue la siguiente configuración basada en la configuración anterior

eureka.instance.hostname = $ {spring.cloud.client.ip-address}

 Reinicie el servicio y vuelva a registrarse en eureka para verificar con éxito

Supongo que te gusta

Origin www.cnblogs.com/kevin-w/p/12674483.html
Recomendado
Clasificación