欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Chassis3負(fù)載均衡選擇器技術(shù)解密

 更新時間:2024年01月17日 09:11:40   作者:liubao68  
這篇文章主要為大家介紹了Java?Chassis3負(fù)載均衡選擇器技術(shù)解密,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Java Chassis 3技術(shù)解密:負(fù)載均衡選擇器

負(fù)載均衡用于管理微服務(wù)實例之間的訪問策略。它負(fù)責(zé)在每次請求中高效選擇目標(biāo)實例,并保持請求在多個目標(biāo)實例中均衡。目標(biāo)實例選擇過程可以使用下面的示例圖簡單展示:

AZ親和是常見的選擇器之一。它根據(jù)本實例的AZ信息和目標(biāo)實例的AZ信息,確定合適的目標(biāo)實例子集,實例子集與本實例具有相同的AZ信息。

負(fù)載均衡選擇器是一個典型的職責(zé)鏈模式。

Ribbon 的職責(zé)鏈

public interface ServerListFilter<T extends Server> {
  List<T> getFilteredListOfServers(List<T> servers);
}

Spring Cloud Commons 的職責(zé)鏈

public abstract class DelegatingServiceInstanceListSupplier implements ServiceInstanceListSupplier, InitializingBean, DisposableBean {
  protected final ServiceInstanceListSupplier delegate;

  public DelegatingServiceInstanceListSupplier(ServiceInstanceListSupplier delegate) {
    this.delegate = delegate;
  }

  public ServiceInstanceListSupplier getDelegate() {
    return this.delegate;
  }
}

Java Chassis 的職責(zé)鏈

public interface DiscoveryFilter extends Ordered {
  DiscoveryTreeNode discovery(DiscoveryContext context, DiscoveryTreeNode parent);
}

Java Chassis 使用了樹型結(jié)構(gòu)的職責(zé)鏈,它的工作過程如下:

  • 將實例預(yù)分組。
  • 通過樹型結(jié)構(gòu)索引,快速找到目標(biāo)實例集合。
  • 當(dāng)某個樹節(jié)點為空的場景,可以返回上層選擇器,重新查找。

能夠快速檢索到實例的場景:

出現(xiàn)實例為空的的場景:

樹型職責(zé)鏈模式優(yōu)勢

相對于線性的職責(zé)鏈模式,樹型職責(zé)鏈模式存在兩方面明顯的優(yōu)勢:

  • 計算復(fù)雜度從 O(N) 降低為 O(1)。 當(dāng)實例規(guī)模很大,比如超過1000的時候,該算法能夠極大的降低CPU使用率,減少垃圾回收的數(shù)量。
  • 能夠解決上層選擇器的結(jié)果在下層選擇器的結(jié)果為空的問題。比如在AZ親和場景,如果本AZ的實例不滿足后續(xù)選擇器的條件,那么使用非本AZ的實例,能夠確保本次訪問的正確性,降低錯誤率,也能夠更好的滿足請求均衡的要求。

客戶故事:在某個客戶的實際場景中,如果實例數(shù)超過1000,負(fù)載均衡的CPU消耗占到整個請求處理時間的20%以上,隨著應(yīng)用規(guī)模的變大,負(fù)載均衡處理算法的性能優(yōu)化變得更加重要了。

以上就是Java Chassis3負(fù)載均衡選擇器技術(shù)解密的詳細(xì)內(nèi)容,更多關(guān)于Java Chassis3負(fù)載均衡選擇器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Spring Boot命令行啟動添加參數(shù)的三種方式

    Spring Boot命令行啟動添加參數(shù)的三種方式

    在命令行中,常見的參數(shù)可以分為三類:選項參數(shù)、非選項參數(shù)和系統(tǒng)參數(shù),本文就來介紹一下Spring Boot命令行三種參數(shù)形式,感興趣的可以了解一下
    2023-09-09
  • Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例

    Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例

    本篇文章主要介紹了Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • 基于Netty實現(xiàn)WebSocket的常用處理器及區(qū)別解析

    基于Netty實現(xiàn)WebSocket的常用處理器及區(qū)別解析

    文章介紹了Netty中的ChannelInboundHandlerAdapter和SimpleChannelInboundHandler處理器,以及WebSocket的幾種常見幀類型,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-02-02
  • MyBatis學(xué)習(xí)教程(三)-MyBatis配置優(yōu)化

    MyBatis學(xué)習(xí)教程(三)-MyBatis配置優(yōu)化

    這篇文章主要介紹了MyBatis學(xué)習(xí)教程(三)-MyBatis配置優(yōu)化的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • java @Value(

    java @Value(

    這篇文章主要介紹了java @Value("${}")獲取不到配置文件中值的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 一文學(xué)會處理SpringBoot統(tǒng)一返回格式

    一文學(xué)會處理SpringBoot統(tǒng)一返回格式

    這篇文章主要介紹了一文學(xué)會處理SpringBoot統(tǒng)一返回格式,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java編程中避免equals方法的隱藏陷阱介紹

    Java編程中避免equals方法的隱藏陷阱介紹

    這篇文章主要介紹了Java編程中避免equals方法的隱藏陷阱介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式

    這篇文章主要介紹了maven實現(xiàn)jar包導(dǎo)入+導(dǎo)出方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 原生Java操作mysql數(shù)據(jù)庫過程解析

    原生Java操作mysql數(shù)據(jù)庫過程解析

    這篇文章主要介紹了原生Java操作mysql數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Spring?Boot?Jwts?Token生成方法示例

    Spring?Boot?Jwts?Token生成方法示例

    這篇文章主要為大家介紹了Spring?Boot?Jwts?Token生成方法示例,非適合java初學(xué)者,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論