當前位置:
首頁 > 知識 > Spring Cloud網關&負載均衡Zuul&Ribbon

Spring Cloud網關&負載均衡Zuul&Ribbon

Spring Cloud網關&負載均衡Zuul&Ribbon

Zuul&Ribbon


服務準備

參看之前的文章創建Eureka註冊中心(單機版即可),Zuul工程。

《極簡Spring Boot搭建、開發、部署》

《Spring Cloud註冊中心——Eureka&集群》

《Spring Cloud網關Zuul&過濾器&集群方案》

Order Service服務兩個工程——orderservice、orderservice2,把裡面的HelloController做如下更改:

Spring Cloud網關&負載均衡Zuul&Ribbon

HelloController

注意紅框,orderservice里把2改成1,這是為了測試的時候做區別用。

還得把這兩個工程的application.yml文件里的port改成不同的,本例是1111、1112。

其實按照之前我寫的文章,一個服務沒必要用兩個工程。一個工程打成jar包,執行命令,指定spring.profiles.active即可。在這裡為了方便就弄了兩個工程,生產環境不要這樣。

Ribbon

構建工程lbservice,依賴有Web、Eureka Discovery、Ribbon,pom就不附圖了。

在Application類里增加紅框里的代碼:

Spring Cloud網關&負載均衡Zuul&Ribbon

Application類

新建一個LoadBalanceController,針對上面Order Service的兩個方法(GET、POST)做轉發。Spring Cloud網關&負載均衡Zuul&Ribbon

LoadBalanceController

application.yml:

Spring Cloud網關&負載均衡Zuul&Ribbon

application.yml

Zuul

修改一下application.yml,對負載均衡服務進行路由:

Spring Cloud網關&負載均衡Zuul&Ribbon

Zuul application.yml


結果

依次啟動這5個服務:Eureka註冊中心、Order ServiceX2、Ribbon、Zuul。

Spring Cloud網關&負載均衡Zuul&Ribbon

單獨訪問兩個Order Service的get方法,如下圖:Spring Cloud網關&負載均衡Zuul&Ribbon

Order Service1

Spring Cloud網關&負載均衡Zuul&Ribbon

Order Service2

通過Zuul、Ribbon訪問Order Service的服務,多點幾次,可看到被轉發到了不同的服務下:Spring Cloud網關&負載均衡Zuul&Ribbon

通過路由負載均衡訪問Order Service1

Spring Cloud網關&負載均衡Zuul&Ribbon

通過路由負載均衡訪問Order Service2

使用Postman測試發送POST請求,通過Zuul、Ribbon轉發到Order Service里,根據返回的JSON能看到不同服務返回的值:Spring Cloud網關&負載均衡Zuul&Ribbon

1

Spring Cloud網關&負載均衡Zuul&Ribbon

2

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java個人學習心得 的精彩文章:

Spring Cloud網關Zuul&過濾器&集群方案
Spring Cloud註冊中心——Eureka&集群
極簡Spring Boot搭建、開發、部署
對於Zookeeper一些面試題自己的答案
對於Dubbo一些面試題自己的答案

TAG:Java個人學習心得 |

您可能感興趣

高可用負載均衡:開源PaaS Rainbond組件Rainbond-Entrance揭秘
Ansible自動部署nginx+keepalived高可用負載均衡
Facebook開源Katran負載均衡器並公開Provisioning Tool
Spring Cloud客戶端負載均衡Ribbon筆記
搭建高可用負載均衡器:haproxy+keepalived
Nibiru Remote Rendering將AR/VR一體機圖像渲染負載至PC
Keepalived+Nginx實現負載均衡高可用
Maxon發布Cinebench R20 負載更高
Linux下Nginx+多Tomcat負載均衡實現詳解
Django(Ngnix)項目部署 負載均衡
Facebook開源最新網路負載均衡軟體Katran
LVS/DR+keepalived負載均衡實現
Nvidia發布GPU上的Kubernetes以加速深度學習負載
Facebook 開源可擴展的網路負載均衡軟體 Katran
低負載風扇停轉!酷冷至尊750 TUF Gaming Edition電源評測
Small Methods:高性能鈉離子電池負極材料-硼氮共摻雜石墨烯負載的納米級CoS2和CoSe2
谷歌雲宣布支持Nvidia Tesla P4,專註深度學習工作負載
Hortonworks與微軟延長合作以推動大數據工作負載向Azure遷移
谷歌雲採用Nvidia Tesla T4 GPU支持機器學習工作負載
Nvidia和VMware合作要將AI工作負載帶上AWS