Ao implantar uma solução de alta disponibilidade Eureka no host Linux, descobri que o IP de serviço registrado no centro de serviço era aleatório. Como existem vários cartões de rede no host, o IP aleatório não era o que eu queria. Eu pesquisei algumas informações on -line e resumi da seguinte maneira:
1 Ignore a rede de rede: spring.cloud.inetutils.ignored-interfaces
#Ignore eth0, suporte a expressão regular spring.cloud.inetutils.igned-interfaces [0] = eth0
2 Especifique IP: spring.cloud.inetutils.preferred-networks
#Preferencial-Networks refere-se ao endereço IP que tende a ser usado, recebendo uma matriz de expressões regulares para selecionar o endereço IP da máquina nativa usada pelos aplicativos de nuvem de mola. spring.cloud.inetutils.preferredNetworks [0] =^192/.168
3 Modifique o arquivo host
Quando a lógica de travessia de pesquisa de rede não encontra o IP apropriado, ele será destinado ao INETAddress.getLocalhost () do JDK. Este método retornará o nome do host do host atual e, em seguida, analisará o IP correspondente com base no nome do host. Portanto, a segunda solução é configurar os arquivos do nome do host e /etc /hosts da máquina e mapear diretamente o nome do host da máquina para o endereço IP válido.
4 Especifique o IP da instância
#Specify the ipeureka.instance.ip-address =#Use IP em vez de hostname eureka.instance.prefer-ip-address = true para registro
5 Passe o parâmetro de comando jar
java -jar xxx.jar ---spring.cloud.inetutils.preferred -networks = #o endereço IP que precisa ser definido ou java -jar xxx.jar ---spring.cloud.inetutils.ignous-interfaces = #the rede que precisa ser filtrada
O novato acima está lutando por uma tarde, e todo mundo tem uma boa maneira de se comunicar juntos. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.