日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

SpringCloud有哪些負載均衡策略?

來源: 責編: 時間:2023-10-27 21:44:08 387觀看
導讀負載均衡通器常有兩種實現手段,一種是服務端負載均衡器,另一種是客戶端負載均衡器,而我們今天的主角 Ribbon 就屬于后者——客戶端負載均衡器。服務端負載均衡器的問題是,它提供了更強的流量控制權,但無法滿足不同的消費者

m1f28資訊網——每日最新資訊28at.com

負載均衡通器常有兩種實現手段,一種是服務端負載均衡器,另一種是客戶端負載均衡器,而我們今天的主角 Ribbon 就屬于后者——客戶端負載均衡器。m1f28資訊網——每日最新資訊28at.com

服務端負載均衡器的問題是,它提供了更強的流量控制權,但無法滿足不同的消費者希望使用不同負載均衡策略的需求,而使用不同負載均衡策略的場景確實是存在的,所以客戶端負載均衡就提供了這種靈活性。然而客戶端負載均衡也有其缺點,如果配置不當,可能會導致服務提供者出現熱點,或者壓根就拿不到任何服務的情況,所以我們本文就來了解一下這 7 種內置負載均衡策略的具體規則。m1f28資訊網——每日最新資訊28at.com

Ribbon 介紹

Ribbon 是 Spring Cloud 技術棧中非常重要的基礎框架,它為 Spring Cloud 提供了負載均衡的能力,比如 Fegin 和 OpenFegin 都是基于 Ribbon 實現的,就連 Nacos 中的負載均衡也使用了 Ribbon 框架。m1f28資訊網——每日最新資訊28at.com

Ribbon 框架的強大之處在于,它不僅內置了 7 種負載均衡策略,同時還支持用戶自定義負載均衡策略,所以其開放性和便利性也是它得以流行的主要原因。m1f28資訊網——每日最新資訊28at.com

服務端負載均衡器和客戶端負載均衡器的區別如下圖所示:m1f28資訊網——每日最新資訊28at.com

m1f28資訊網——每日最新資訊28at.com

客戶端負載均衡器的實現原理是通過注冊中心,如 Nacos,將可用的服務列表拉取到本地(客戶端),再通過客戶端負載均衡器(設置的負載均衡策略)獲取到某個服務器的具體 ip 和端口,然后再通過 Http 框架請求服務并得到結果,其執行流程如下圖所示:m1f28資訊網——每日最新資訊28at.com

m1f28資訊網——每日最新資訊28at.com

負載均衡設置

以 Nacos 中的 Ribbon 負載均衡設置為例,在配置文件 application.yml 中設置如下配置即可:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.RoundRobinRule #設置負載均衡策略

因為 Nacos 中已經內置了 Ribbon,所以在實際項目開發中無需再添加 Ribbon 依賴了,這一點我們在 Nacos 的依賴樹中就可以看到,如下圖所示:m1f28資訊網——每日最新資訊28at.com

m1f28資訊網——每日最新資訊28at.com

Ribbon 默認的負載均衡策略是輪詢模式,我們配置 3 個服務提供者的執行結果如下圖所示:m1f28資訊網——每日最新資訊28at.com

m1f28資訊網——每日最新資訊28at.com

然后,我們再將 Ribbon 負載均衡策略設置為隨機模式,配置內容如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.RandomRule #設置隨機負載均衡

重啟客戶端,執行結果如下圖所示:m1f28資訊網——每日最新資訊28at.com

m1f28資訊網——每日最新資訊28at.com

7種負載均衡策略

1、輪詢策略

輪詢策略:RoundRobinRule,按照一定的順序依次調用服務實例。比如一共有 3 個服務,第一次調用服務 1,第二次調用服務 2,第三次調用服務3,依次類推。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.RoundRobinRule #設置負載均衡

2、權重策略

權重策略:WeightedResponseTimeRule,根據每個服務提供者的響應時間分配一個權重,響應時間越長,權重越小,被選中的可能性也就越低。它的實現原理是,剛開始使用輪詢策略并開啟一個計時器,每一段時間收集一次所有服務提供者的平均響應時間,然后再給每個服務提供者附上一個權重,權重越高被選中的概率也越大。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.WeightedResponseTimeRule

3、隨機策略

隨機策略:RandomRule,從服務提供者的列表中隨機選擇一個服務實例。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.RandomRule #設置負載均衡

4、最小連接數策略

最小連接數策略:BestAvailableRule,也叫最小并發數策略,它是遍歷服務提供者列表,選取連接數最小的?個服務實例。如果有相同的最小連接數,那么會調用輪詢策略進行選取。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.BestAvailableRule #設置負載均衡

5、重試策略

重試策略:RetryRule,按照輪詢策略來獲取服務,如果獲取的服務實例為 null 或已經失效,則在指定的時間之內不斷地進行重試來獲取服務,如果超過指定時間依然沒獲取到服務實例則返回 null。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

ribbon:  ConnectTimeout: 2000 # 請求連接的超時時間  ReadTimeout: 5000 # 請求處理的超時時間springcloud-nacos-provider: # nacos 中的服務 id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.RandomRule #設置負載均衡

6、可用性敏感策略

可用敏感性策略:AvailabilityFilteringRule,先過濾掉非健康的服務實例,然后再選擇連接數較小的服務實例。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.AvailabilityFilteringRule

7、區域敏感策略

區域敏感策略:ZoneAvoidanceRule,根據服務所在區域(zone)的性能和服務的可用性來選擇服務實例,在沒有區域的環境下,該策略和輪詢策略類似。此策略的配置設置如下:m1f28資訊網——每日最新資訊28at.com

springcloud-nacos-provider: # nacos中的服務id  ribbon:    NFLoadBalancerRuleClassName: comflix.loadbalancer.ZoneAvoidanceRule

項目源碼

https://gitee.com/mydb/spring-cloud-alibaba-example。m1f28資訊網——每日最新資訊28at.com

總結

Ribbon 為客戶端負載均衡器,相比于服務端負載均衡器的統一負載均衡策略來說,它提供了更多的靈活性。Ribbon 內置了 7 種負載均衡策略:輪詢策略、權重策略、隨機策略、最小連接數策略、重試策略、可用性敏感策略、區域性敏感策略,并且用戶可以通過繼承 RoundRibbonRule 來實現自定義負載均衡策略。m1f28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-15487-0.htmlSpringCloud有哪些負載均衡策略?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個提高Web開發效率的VS Code插件

下一篇: 用C++實現圖像處理中三種常見的濾波算法

標簽:
  • 熱門焦點
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 服務存儲設計模式:Cache-Aside模式

    Cache-Aside模式一種常用的緩存方式,通常是把數據從主存儲加載到KV緩存中,加速后續的訪問。在存在重復度的場景,Cache-Aside可以提升服務性能,降低底層存儲的壓力,缺點是緩存和底
  • Flowable工作流引擎的科普與實踐

    一.引言當我們在日常工作和業務中需要進行各種審批流程時,可能會面臨一系列技術和業務上的挑戰。手動處理這些審批流程可能會導致開發成本的增加以及業務復雜度的上升。在這
  • 之家push系統迭代之路

    前言在這個信息爆炸的互聯網時代,能夠及時準確獲取信息是當今社會要解決的關鍵問題之一。隨著之家用戶體量和內容規模的不斷增大,傳統的靠"主動拉"獲取信息的方式已不能滿足用
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(niudaocaijing)7月5日,企鵝FM發布官方公告稱由于業務調整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業務走向消亡。騰訊在長音頻領域還在摸索。為
  • 阿里大調整

    來源:產品劉有媒體報道稱,近期淘寶天貓集團啟動了近年來最大的人力制度改革,涉及員工績效、層級體系等多個核心事項,目前已形成一個初步的“征求意見版”:1、取消P序列
  • 華為和江淮汽車合作開發百萬元問界MPV?雙方回應來了

    8月1日消息,郭明錤今天在社交平臺發文稱,華為正在和江淮汽車合作,開發售價在100萬元的問界MPV,預計在2024年第2季度量產,銷量目標為上市首年交付5萬輛。
  • 蘋果公司要求三星和LG Display生產「無邊框」OLED iPhone顯示屏

    據 The Elec 報道,蘋果已要求其供應商為未來的 iPhone 型號開發「無邊框」OLED 顯示面板。蘋果顯然已要求三星和 LG Display 開發新的 OLED 顯示面
  • iQOO 11S新品發布會

    iQOO將在7月4日19:00舉行新品發布會,推出杭州亞運會電競賽事官方用機iQOO 11S。
Top 主站蜘蛛池模板: 康乐县| 万州区| 高台县| 孟村| 玉溪市| 富阳市| 连城县| 阜宁县| 绥化市| 巩留县| 石河子市| 门头沟区| 文山县| 乳山市| 连山| 荆州市| 萨嘎县| 九江县| 延川县| 桃源县| 永年县| 荆州市| 浦城县| 澄城县| 崇文区| 平潭县| 虞城县| 固原市| 游戏| 乾安县| 绥棱县| 保德县| 延寿县| 宁城县| 新源县| 晋江市| 奈曼旗| 公安县| 黑龙江省| 商南县| 广昌县|