最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring cloud consul使用ip注冊(cè)服務(wù)的方法示例

 更新時(shí)間:2019年03月15日 11:34:19   作者:流浪的神明  
這篇文章主要介紹了spring cloud consul使用ip注冊(cè)服務(wù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

我測(cè)試spring cliud使用consul作為注冊(cè)中心的時(shí)候,發(fā)現(xiàn)服務(wù)注冊(cè)的時(shí)候,注冊(cè)的都是hostname,比如:

注冊(cè)了一個(gè)commonservice,在consul中是這樣的:

{
  "ID":"commonservice123",
  "address":"testcommonserver"
  ........
}

這肯定是不對(duì)的。

加入我有一個(gè)服務(wù)payservice需要調(diào)用commonservice,payservice從consul中獲取的commonservice的地址是testcommonserver,而payservice所在的服務(wù)器地址是121.57.68.98上,這臺(tái)服務(wù)器無法解析hostname是testcommonserver的服務(wù)器的ip地址,無法調(diào)用commonservie,這時(shí)候就會(huì)報(bào)下面這個(gè)錯(cuò)誤:

unKnownHostException
.......

為了解決這個(gè)問題,我需要在注冊(cè)服務(wù)的時(shí)候,讓服務(wù)以ip的方式注冊(cè),我的測(cè)試環(huán)境是:

  • spring cloud Finch1ey.SR2
  • consul v1.4.3

修改bootstrap.yml配置文件:

spring:
 cloud:
  consul:
   host: xxx.xxx.xxx.xxxx
   port: 8500
   discovery:
    prefer-ip-address: true //這個(gè)必須配
    tags: version=1.0
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}
    healthCheckInterval: 15s
    health-check-url: http://${spring.cloud.client.ip-address}:${server.port}/actuator/health

${spring.cloud.client.ip-address}這個(gè)屬性是spring cloud內(nèi)置,用來獲取ip,不同的spring cloud版本可能稍有不同,如果想要確定自己的版本是什么樣的,可以查看這個(gè)文件:

HostInfoEnvironmentPostProcessor

  @Override
  public void postProcessEnvironment(ConfigurableEnvironment environment,
      SpringApplication application) {
    InetUtils.HostInfo hostInfo = getFirstNonLoopbackHostInfo(environment);
    LinkedHashMap<String, Object> map = new LinkedHashMap<>();
    map.put("spring.cloud.client.hostname", hostInfo.getHostname());
    map.put("spring.cloud.client.ip-address", hostInfo.getIpAddress());
    MapPropertySource propertySource = new MapPropertySource(
        "springCloudClientHostInfo", map);
    environment.getPropertySources().addLast(propertySource);
  }

這時(shí)候再啟動(dòng)項(xiàng)目測(cè)試,發(fā)現(xiàn)注冊(cè)地址變了:

{
  "ID":"commonservice123",
  "address":"10.52.xx.xx"
  ........
}

注冊(cè)的address變成了服務(wù)的內(nèi)網(wǎng)地址,如果其它服務(wù)和commonservice在同一個(gè)網(wǎng)絡(luò)中,可以通過內(nèi)網(wǎng)訪問,這樣也是可以的,但是如果內(nèi)網(wǎng)不能訪問,其它服務(wù)仍然不能訪問,這時(shí)候就需要注冊(cè)服務(wù)的時(shí)候以公網(wǎng)的ip注冊(cè)才行。
修改bootstrap.yml配置文件:

spring:
 cloud:
  consul:
   host: xxx.xxx.xxx.xxx
   port: 8500
   config:
    data-key: data
    format: yaml
   discovery:
    prefer-ip-address: true //這個(gè)必須配
    tags: version=1.0
    instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}
    healthCheckInterval: 15s
    health-check-url: http://${spring.cloud.client.ip-address}:${server.port}/actuator/health
  inetutils:
   preferred-networks:
    - 公網(wǎng)ip1
    - 公網(wǎng)ip2

可以看到增加一個(gè)inetutils配置,這個(gè)配置是spring cloud的網(wǎng)絡(luò)工具類,這個(gè)配置的含義是如果獲取ip時(shí)獲取到多個(gè)ip(內(nèi)網(wǎng)、外網(wǎng)),就優(yōu)先選擇我配置的ip中存在的ip,這樣再測(cè)試就會(huì)發(fā)現(xiàn),注冊(cè)service的時(shí)候就變成了公網(wǎng)ip。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中HashMap的七種遍歷方式小結(jié)

    java中HashMap的七種遍歷方式小結(jié)

    本文主要介紹了java中HashMap的七種遍歷方式小結(jié),包括迭代器,For Each,Lambda,Streams API等,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • transactionAttributes各屬性意義及配置

    transactionAttributes各屬性意義及配置

    這篇文章主要介紹了transactionAttributes各屬性意義及配置,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • java中VO PO DTO POJO BO DO對(duì)象的應(yīng)用場(chǎng)景及使用方式

    java中VO PO DTO POJO BO DO對(duì)象的應(yīng)用場(chǎng)景及使用

    文章介紹了Java開發(fā)中常用的幾種對(duì)象類型及其應(yīng)用場(chǎng)景,包括VO、PO、DTO、POJO、BO和DO等,并通過示例說明了它們?cè)诓煌瑘?chǎng)景下的應(yīng)用
    2025-01-01
  • Mybatis?XML配置文件實(shí)現(xiàn)增刪改查的示例代碼

    Mybatis?XML配置文件實(shí)現(xiàn)增刪改查的示例代碼

    本文主要介紹了Mybatis?XML配置文件實(shí)現(xiàn)增刪改查的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié)

    這篇文章主要介紹了詳解servlet調(diào)用的幾種簡(jiǎn)單方式總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • springboot @WebFilter注解過濾器的實(shí)現(xiàn)

    springboot @WebFilter注解過濾器的實(shí)現(xiàn)

    這篇文章主要介紹了springboot @WebFilter注解過濾器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式

    使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式

    這篇文章主要介紹了使用mybatis的typeHandler對(duì)clob進(jìn)行流讀寫方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java設(shè)置session超時(shí)的幾種方式總結(jié)

    Java設(shè)置session超時(shí)的幾種方式總結(jié)

    這篇文章主要介紹了Java設(shè)置session超時(shí)的幾種方式總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 簡(jiǎn)單聊聊RabbitMQ中的隊(duì)頭阻塞問題

    簡(jiǎn)單聊聊RabbitMQ中的隊(duì)頭阻塞問題

    這篇文章主要為大家詳細(xì)介紹了RabbitMQ中的隊(duì)頭阻塞問題以及相關(guān)的解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • SpringBoot超詳細(xì)分析啟動(dòng)流程

    SpringBoot超詳細(xì)分析啟動(dòng)流程

    今天小編就為大家分享一篇關(guān)于SpringBoot整個(gè)啟動(dòng)過程的分析,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2022-07-07

最新評(píng)論

诏安县| 页游| 河南省| 周口市| 潮州市| 息烽县| 南木林县| 霸州市| 太湖县| 慈溪市| 红原县| 墨竹工卡县| 腾冲县| 富民县| 灵山县| 乐安县| 安达市| 焉耆| 弋阳县| 于都县| 永济市| 屯门区| 道孚县| 宝坻区| 曲靖市| 武强县| 平塘县| 辽宁省| 黔西县| 邵武市| 陆良县| 邮箱| 鹤峰县| 灵石县| 自治县| 建德市| 卓尼县| 磐安县| 永年县| 信丰县| 开封市|