zoukankan      html  css  js  c++  java
  • 使用ip注册eureka

    eureka的client注册到server时默认是使用hostname而不是ip(这种情况不总是发生),这就导致服务间相互调用时也会使用hostname进行调用,从而调用失败。

    报异常:java.net.UnknownHostException: iZbp1fgdu6lt0h7c8rvw9aZ

    这时候就需要使用ip来服务到eureka-server上,需要在eureka的client增加配置如下:

    eureka.instance.prefer-ip-address=true

    http://www.itmuch.com/spring-cloud-code-read/spring-cloud-code-read-eureka-registry-ip/https://blog.csdn.net/soulfight/article/details/77096632

    这篇文章从源码的角度阐述了为什么

    实践:

                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Edgware.SR2</version>
    

      

    实验1:

    eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

    仅修改了主机名,但是暴露的ip地址client是无法访问的:

    实验2:

    eureka.instance.prefer-ip-address=true

    未修改主机名,但是ip可以访问

    小结:

    eureka.instance.instance-id仅关心实例id,真正注册ip到eureka且被client访问的是eureka.instance.prefer-ip-address

    附一个加版本号的实例id写法:

    #eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${spring.application.name}:${server.port}:@project.version@
    
    
  • 相关阅读:
    归档:类和对象
    归档:字符串类
    腾讯云域名解析
    Java课堂动手动脑--方法
    软件工程个人作业03——PSP记录
    软件工程个人作业03
    软件工程个人作业02——PSP0级要求记录 + 第三周进度条
    软件工程个人作业02
    第二周学习进度条
    软件工程个人作业01
  • 原文地址:https://www.cnblogs.com/silyvin/p/9555016.html
Copyright © 2011-2022 走看看