Spring Cloud 微服務 (遇到的問題匯總)

本篇介紹在微服務實踐中踩過的坑,以及解決方法。

Eureka 在docker下服務用ip識別注冊的客戶端

Spring Cloud 微服務(四) Docker化中實現Eureka的docker化之后,發現在docker化之后的Eureka注冊的Client都是以一個奇怪的hostname注冊的(應該是docker的image id),導致服務無法被識別:

image.png
解決方法

在Eureka服務端不用作更改,在Eureka客戶端,配置如下信息,其中prefer-ip-address代表在注冊的時侯傾向使用ip:

eureka:
  instance:
    prefer-ip-address: true
  client:
    serviceUrl:
      defaultZone: http://**.**.**.**:8761/eureka/

然后在pom.xml添加一個依賴

<dependency>
  <groupId>de.ixilon</groupId>
  <artifactId>aws-aware-eureka-instance</artifactId>
  <version>1.0.0</version>
</dependency>
運行結果

運行之后,我們再看Eureka控制頁面,發現這里已經使用了aws的Private DNS作為host顯示,并且點擊這個鏈接之后跳轉到的是該服務的Public IP

image.png
image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容