微服务多网卡部署(eureka显示IP不为服务IP的地址)解决办法
生活随笔
收集整理的這篇文章主要介紹了
微服务多网卡部署(eureka显示IP不为服务IP的地址)解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 這幾天遇到一個bug,我們微服務組90%都是部署在linux環境中,只有一個XX微服務是部署在Windows環境中,并且服務都是分布式部署,并沒有全部部署在同一臺服務器上。這時,問題就出現了~微服務向eureka注冊中心注冊時,顯示的IP地址不正常全部是localhost或者主機名稱。(正常情況下,應該顯示的為微服務所在服務器的IP地址)
- 然后我們查了一下問題原因,由于服務器配備了多網卡的原因,導致eureka在發現微服務時,無法確定微服務所注冊的是哪張網卡,所以會默認顯示為localhost或者主機名稱。
- 解決辦法:
在你微服務的application.properties文件中加入如下幾行代碼:
spring.application.name=robot-base server.port=8002 spring.cloud.client.address=192.168.5.120#以IP地址的方式向eureka進行注冊 eureka.instance.prefer-ip-address=true#Npcap Loopback Adapter:為忽略的網卡名稱 spring.cloud.inetutils.ignored-interfaces[0]=Npcap Loopback Adapter#${spring.cloud.client.address}:為微服務所在服務器的IP地址 #${spring.application.name}:為微服務的名稱 #${server.port}:為微服務端口號 eureka.instance.instance-id=${spring.cloud.client.address}:${spring.application.name}:${server.port}注意:忽略的網卡名稱就是微服務不使用那張網卡向注冊中心注冊。
完美解決!
總結
以上是生活随笔為你收集整理的微服务多网卡部署(eureka显示IP不为服务IP的地址)解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Direct3D 12 尝鲜: 基本呈现
- 下一篇: tcpdump显示IP