SpringCloud?Ribbon負載均衡原理
一、Ribbon負載均衡原理
1 負載均衡原理

2 負載均衡策略(IRule接口)
Ribbon的負載均衡規(guī)則是一個叫做IRule 的接口來定義的,每一個子接口都是一種規(guī)則:


通過定義IRule實現(xiàn)可以修改負載均衡規(guī)則,有兩種方式:
代碼方式:在order-service中的OrderApplication類中,定義一個新的IRule:(全局配置)
?@Bean
?public IRule randomRule() {
? ?return new RandomRule();
?}配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改規(guī)則:(針對某個微服務而言)
?userservice: ? ribbon: ? ? NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule# 負載均衡規(guī)則
3 Ribbon默認懶加載
Ribbon默認是采用懶加載,即第一次訪問時才會去創(chuàng)建LoadBalanceClient,請求時間會很長。
而饑餓加載則會在項目啟動時創(chuàng)建,降低第一次訪問的耗時,通過下面配置開啟饑餓加載:
?ribbon: ? eager-load: ? ? enabled: true # 開啟饑餓加載 ? ? clients: # 指定饑餓加載的服務名稱 ? ? ? - userservice
4 總結(jié):Ribbon負載均衡規(guī)則、自定義、饑餓加載
Ribbon負載均衡規(guī)則
- 規(guī)則接口是IRule
- 默認實現(xiàn)是ZoneAvoidanceRule,根據(jù)zone選擇服務列表,然后輪詢
負載均衡策略自定義方式
- 代碼方式:配置靈活,但修改時需要重新打包發(fā)布
- 配置方式:直觀,方便,無需重新打包發(fā)布,但是無法做全局配置
饑餓加載
- 開啟饑餓加載
- 指定饑餓加載的微服務名稱
到此這篇關于SpringCloud Ribbon負載均衡原理的文章就介紹到這了,更多相關SpringCloud Ribbon內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java中通過ZipOutputStream類如何將多個文件打成zip
ZipOutputStream?是Java中用于創(chuàng)建ZIP文件的類,它是?java.util.zip?包中的一部分,通過使用?ZipOutputStream?,可以將多個文件壓縮到一個ZIP文件中,這篇文章主要介紹了Java中(ZipOutputStream)如何將多個文件打成zip,需要的朋友可以參考下2023-09-09
JAVA實現(xiàn) springMVC方式的微信接入、實現(xiàn)消息自動回復實例
本篇文章主要介紹了JAVA實現(xiàn) springMVC方式的微信接入、實現(xiàn)消息自動回復,這里整理了詳細的代碼,有需要的小伙伴可以參考下。2016-12-12
java如何讀取properties文件將參數(shù)值配置到靜態(tài)變量
這篇文章主要介紹了java如何讀取properties文件將參數(shù)值配置到靜態(tài)變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08

