記Eureka和Gateway跨伺服器使用的小坑

2021-09-17 22:10:04 字數 1252 閱讀 2872

搭建eureka和gateway服務發現和閘道器時。

本地服務和本地閘道器使用的一直很優秀。

但使用這套體系的基本原則是多eureka和gateway集群分布。所以我在一次單節點使用時想發微服務發布到另一台伺服器上

利用閘道器進行路由。

這是我的註冊到eureka的配置檔案

其中打碼處均是eureka和gateway的公網ip位址和埠

然後啟動微服務,發現服務已經成功註冊到eureka中。。。如下圖

首先上swagger圖

證明可以成功訪問。好了然後下一步

使用ip+服務名+api介面進行訪問api介面

其中8005是我的令一台機器的閘道器埠。

發現竟然路由不到我的另一台伺服器的api

這不是很科學啊。為什麼會路由不到呢。

調查原因

發現閘道器竟然在路由時ip位址使用的時本地ip位址。但是我配置的明明時遠端伺服器的位址啊。調查閘道器源**。懷疑時閘道器問題

整理跨域。發現其實還是這樣。這就尷尬了。

突然靈光一閃。能不能是註冊中心存放的位址不對,導致閘道器路由錯誤呢?

開始調查eureka問題。以及配置檔案無果。

偶然發現一篇文章。受益匪淺

首先感謝一下這位大神。

文章中有詳細介紹了幾種路由關係。

preferipaddress欄位我寫的是true啊。臥槽。好像知道問題所在了

火速修改false

發現啟動後竟然路由到了我的遠端計算機名字

那就明白了。加個hostname就ok了啊。我告訴你我ip不久行了麼

最終如下

執行。ok。

問題解決了。

Eureka介紹和使用

1 什麼是服務治理 管理服務於服務之間依賴關係,可以實現服務呼叫 負載均衡 容錯等,實現服務發現與註冊。2 什麼是服務註冊 將服務所在主機 埠 版本號 通訊協議等資訊登記到註冊中心上 3 什麼是服務發現 服務消費者向註冊中心請求已經登記的服務列表,然後得到某個服務的主機 埠 版本號 通訊協議等資訊,...

Zookeeper和Eureka的區別!

著名的cap理論指出,乙個分布式系統不可能同時滿足c 一致性 a 可用性 和p 分割槽容錯性 由於分割槽容錯性p在分布式系統中必須要保證的,因此我們只能在a和c之間進行權衡。因此 zookeeper保證的是cp,eureka則是ap。zoopkeeper保證cp 當向註冊中心查詢服務列表時,我們可以...

ZooKeeper和Eureka的區別

1 cap理論 乙個分布式系統不可能同時滿足c 一致性 a 可用性 和p 分割槽容錯性 zookeeper保證的是cp,而eureka則是ap。2 zookeeper保證cp 當註冊中心查詢服務列表時,我們可以容忍註冊中心返回的是幾分鐘以前的註冊資訊,但是不能接受服務直接down掉不可用。也就是說,...