【SpringCloud】之Ribbon負載均衡
Ribbon 在工作時分成兩步:
第一步:先選擇
EurekaServer
,它優先選擇在同一個區域內負載較少的server
;
第二步:根據使用者指定的策略,從server
取到的服務註冊列表中選擇一個地址; 其中Ribbon
提供了多種策略:比如輪詢,隨機和根據響應時間加權。
Ribbon 自帶負載均衡規則
負載均衡方式 | 解釋 |
---|---|
RoundRobinRule | 輪詢 |
RandomRule | 隨機 |
RetryRule | 先輪詢,如果失敗則在指定時間內重試 |
WeightedResponseTimeRule | 基於輪詢,響應速度越快的例項選擇權重越大,越容易被選擇 |
BestAvailableRule | 先過濾由於多次訪問故障而處於斷路由器跳閘狀態的服務,然後選擇一個併發量最小的服務 |
AvailabilityFilteringRule | 先過濾掉故障例項,再選擇併發較小的例項 |
ZoneAvoidanceRule | 預設規則,符合判斷 server 所在區域的效能和server 的可用性選擇伺服器 |
修改預設負載均衡規則
在 @ComponentScan 註解能掃描到的包之外新建負載均衡規則
package com.sfd.robbin.rule;
@Configuration
public class CustomRibbinRule {
@Bean
public IRule customRule() {
return new RandomRule();
}
}
package com.sfd.cloud;
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "PROVIDER-PAYMENT-SERVICE", configuration = CustomRibbinRule.class)
public class Order80Application {
public static void main(String[] args) {
SpringApplication.run(Order80Application.class, args);
}
}
輪詢演算法原理
rest 介面第幾次請求數 % 伺服器叢集總數量 = 實際呼叫伺服器位置下標,每次伺服器重啟後 rest 介面計數從 1 開始。
相關文章
- SpringCloud客戶端負載均衡——RibbonSpringGCCloud客戶端負載
- SpringCloud入門(四)Ribbon負載均衡SpringGCCloud負載
- SpringCloud 客戶端負載均衡:RibbonSpringGCCloud客戶端負載
- SpringCloud系列之客戶端負載均衡Netflix RibbonSpringGCCloud客戶端負載
- SpringCloud Fegin結合Ribbon實現負載均衡SpringGCCloud負載
- SpringCloud 服務負載均衡和呼叫 Ribbon、OpenFeignSpringGCCloud負載
- SpringCloud學習筆記:負載均衡Ribbon(3)SpringGCCloud筆記負載
- (20)SpringCloud-Ribbon自定義負載均衡策略SpringGCCloud負載
- 負載均衡---ribbon負載
- ③SpringCloud 實戰:使用 Ribbon 客戶端負載均衡SpringGCCloud客戶端負載
- Ribbon實現負載均衡負載
- Spring Cloud Ribbon負載均衡SpringCloud負載
- Spring Cloud之負載均衡元件Ribbon原理分析SpringCloud負載元件
- Ribbon負載均衡 (原始碼分析)負載原始碼
- Spring cloud(3)-負載均衡(Feign,Ribbon)SpringCloud負載
- 客服端負載均衡:Spring Cloud Ribbon負載SpringCloud
- 微服務負載均衡器 Ribbon微服務負載
- (4)什麼是Ribbon負載均衡負載
- SpringCloud微服務中使用RestTemplate+Ribbon實現負載均衡(實現方法+實現原理+替換負載均衡策略)SpringGCCloud微服務REST負載
- Spring Cloud:自定義 Ribbon 負載均衡策略SpringCloud負載
- Spring Cloud Ribbon 客戶端負載均衡SpringCloud客戶端負載
- Ribbon負載均衡策略與自定義配置負載
- Ribbon - 幾種自定義負載均衡策略負載
- Ribbon 支援的9大負載均衡策略負載
- 四. SpringCloud負載均衡與呼叫SpringGCCloud負載
- SpringCloud學習系列之二 ----- 服務消費者(Feign)和負載均衡(Ribbon)SpringGCCloud負載
- (20)java Spring Cloud企業快速開發架構之SpringCloud-Ribbon自定義負載均衡策略JavaSpringCloud架構GC負載
- Ribbon提供的負載均衡演算法IRule(四)負載演算法
- 【SpringCloud】SpringCloud(二)之RibbonSpringGCCloud
- SpringCloud微服務系列- 服務間通訊之負載均衡SpringGCCloud微服務負載
- 負載均衡之keepalived負載
- SpringCloud(二):服務呼叫與負載均衡SpringGCCloud負載
- Spring Cloud:使用Ribbon實現負載均衡詳解(上)SpringCloud負載
- Spring Cloud:使用Ribbon實現負載均衡詳解(下)SpringCloud負載
- 微服務Spring Cloud17_負載均衡Ribbon6微服務SpringCloud負載
- Spring Cloud負載均衡神器——Ribbon簡介與基本使用SpringCloud負載
- 微服務(三) Eureka註冊中心和Ribbon負載均衡微服務負載
- SpringCloud微服務實戰——搭建企業級開發框架(十二):OpenFeign+Ribbon實現負載均衡SpringGCCloud微服務框架負載