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@
    
    
  • 相关阅读:
    DHCP Option 60 的理解
    几种开源分词工具的比較
    推荐交互设计师阅读的一本书
    iOS IAP教程
    艰苦的RAW格式数据恢复之旅
    BestCoder Round #11 (Div. 2) 前三题题解
    罗马数字
    mysql 加入列,改动列,删除列。
    杂项:ASP.NET Web API
    杂项:Web API
  • 原文地址:https://www.cnblogs.com/silyvin/p/9555016.html
Copyright © 2011-2022 走看看