解決springcloud-eureka注冊時的ip問題
springcloud-eureka注冊,ip問題
在微服務注冊到eureka時,在開啟ip顯示時,有時候會出現(xiàn)localhost的情況
手動指定instance-id
在配置文件中
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${eureka.instance.appname}:${server.port}
springboot 2.0改為如下
eureka.instance.instance-id=${spring.cloud.client.ipaddress}:${eureka.instance.appname}:${server.port}
服務調(diào)用時外網(wǎng)ip使用
eureka注冊時,默認的是內(nèi)網(wǎng)ip,那么會出現(xiàn)在本地無法調(diào)用線上服務的問題 在配置文件中如下修改解決
spring.cloud.inetutils.ignored-interfaces[0]=eth0 (忽略某個網(wǎng)卡)
Eureka注冊服務后,ip展示不正確,調(diào)用失敗
問題描述
當同一服務名注冊多個分布在不同服務器上的服務是,客戶端在調(diào)用時,如果調(diào)用端和被調(diào)用端在同一服務器上可以調(diào)用成功,其他均不能調(diào)用成功。
在eureka上展示出來的效果如下

圖上展示的是配置后可以正常訪問的情況,也就是說,spring cloud的feign會自動把你在feign上的服務名轉(zhuǎn)換為圖片中左下角展示的這個ip。在eureka這個頁面左下角展示的是什么,你服務實際使用httpclient調(diào)用的時候訪問的地址就是什么。
不廢話,核心配置
eureka.instance.prefer-ip-address=true
注意,是在eureka下,別放到別的地方,沒啥用。除非有特殊用途,我們目前項目,發(fā)現(xiàn)都把配置文件放在了sever下了以為有,可是并沒有生效,這個問題不大,但是報錯信息不明顯,只是會報unknowHostException,其他好多地方會說timeout,這個是兩回事,不要搞混。timeout和unknowHost不一樣。一個是連不通,一個是找不到。
另外,如果這一行還不夠,再加幾行
eureka.instance.preferIpAddress=true
eureka.instance.health-check-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/health
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/info
eureka.instance.metadataMap.management.context-path=${server.context-path}
僅此記錄,僅為個人經(jīng)驗,希望能給大家一個參考吧,也希望大家多多支持腳本之家。
相關文章
Java實現(xiàn)數(shù)據(jù)庫連接池的方法
這篇文章主要介紹了Java實現(xiàn)數(shù)據(jù)庫連接池的方法,涉及java數(shù)據(jù)庫連接池的創(chuàng)建、連接、刷新、關閉及狀態(tài)獲取的常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
Spring BeanPostProcessor源碼示例解析
這篇文章主要為大家介紹了Spring BeanPostProcessor源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
Java實現(xiàn)基于UDP協(xié)議的網(wǎng)絡通信UDP編程
在Java中使用UDP編程,仍然需要使用Socket,因為應用程序在使用UDP時必須指定網(wǎng)絡接口(IP地址)和端口號。注意:UDP端口和TCP端口雖然都使用0~65535,但他們是兩套獨立的端口,即一個應用程序用TCP占用了端口1234,不影響另一個應用程序用UDP占用端口12342023-04-04

