Udemy 課程Microservices with Spring Cloud 36

LoadBalance With Ribbon

ZONGRU Li
4 min readJul 16, 2019

在一般情況下

Project部署啟動簡單是各一個

但是我們可能有LoadBalance機制變成下面這樣

在前面範例下,currency-conversion-service可以只能調用到

currency-exchange-service其中一個instance

這時就需要Ribbon套件引入

在currency-conversion-service的pom內加入ribbon套件

注意↓

舊版本Spring-Boot使用的artifactId叫:

spring-cloud-starter-ribbon

注意↑

這時候再改寫CurrencyExchangeServiceProxy

但是實際取用的匯率專案Service位置要另外定義在applicat.properties

source來源用逗號分隔

記住,改的是currency-conversion-service的properties

接著啟動currency-exchange-service分別開啟8087與8086的port

接著啟動currency-conversion-service

先確認匯率專案的服務正常

PORT:8087
PORT:8086

接著確認重點!!進到網址:

http://localhost:8100/currency-converter-feign/from/EUR/to/INR/quantity/5

見到

執行後Console才會出現:

多次執行網址:

http://localhost:8100/currency-converter-feign/from/EUR/to/INR/quantity/5

跟前一張圖就不一樣,隨機改到8086的PORT去了

看起來行為模式是只有首次會去mapping實際的instance

因為console只有

只出現一次上述訊息

目前專案備份於:

"spring-cloud-config-server_2"

"currency-exchange-service_1"

"currency-conversion-service_1"

"limits-service_2"

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet