Spring Cloud網關&負載均衡Zuul&Ribbon
Zuul&Ribbon
服務準備
參看之前的文章創建Eureka註冊中心(單機版即可),Zuul工程。
《極簡Spring Boot搭建、開發、部署》
《Spring Cloud註冊中心——Eureka&集群》
《Spring Cloud網關Zuul&過濾器&集群方案》
Order Service服務兩個工程——orderservice、orderservice2,把裡面的HelloController做如下更改:
HelloController
注意紅框,orderservice里把2改成1,這是為了測試的時候做區別用。
還得把這兩個工程的application.yml文件里的port改成不同的,本例是1111、1112。
其實按照之前我寫的文章,一個服務沒必要用兩個工程。一個工程打成jar包,執行命令,指定spring.profiles.active即可。在這裡為了方便就弄了兩個工程,生產環境不要這樣。
Ribbon
構建工程lbservice,依賴有Web、Eureka Discovery、Ribbon,pom就不附圖了。
在Application類里增加紅框里的代碼:
Application類
新建一個LoadBalanceController,針對上面Order Service的兩個方法(GET、POST)做轉發。
LoadBalanceController
application.yml:
application.yml
Zuul
修改一下application.yml,對負載均衡服務進行路由:
Zuul application.yml
結果
依次啟動這5個服務:Eureka註冊中心、Order ServiceX2、Ribbon、Zuul。
單獨訪問兩個Order Service的get方法,如下圖:
Order Service1
Order Service2
通過Zuul、Ribbon訪問Order Service的服務,多點幾次,可看到被轉發到了不同的服務下:
通過路由負載均衡訪問Order Service1
通過路由負載均衡訪問Order Service2
使用Postman測試發送POST請求,通過Zuul、Ribbon轉發到Order Service里,根據返回的JSON能看到不同服務返回的值:
1
2
※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