999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向微服務架構的負載均衡算法綜述

2021-06-28 19:10:38陳宇明陳琳陸正武
電腦知識與技術 2021年10期

陳宇明 陳琳 陸正武

摘要:隨著互聯網技術的發展,傳統的單體架構應用不能適應現有的互聯網環境,越來越多的企業采用微服務架構來作為解決方案,而在微服務架構中如何保持各服務器的負載相對均衡是亟待解決的問題,現在解決問題的辦法是通過負載均衡算法來平衡微服務架構中各服務器的負載,保持系統的高可用性。本文首先介紹了微服務框架及其相關框架,詳細介紹了Spring Cloud框架的工作原理,然后分析了加權最小連接數算法、加權輪詢算法等負載均衡算法。

關鍵詞:微服務架構;Spring Cloud;負載均衡;加權最小連接數算法;加權輪詢算法

中圖分類號:TP31? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)10-0187-02

Abstract:With the development of Internet technology, traditional monolithic architecture applications cannot adapt to the existing Internet environment. More and more companies adopt microservice architecture as solutions, but how to keep the load of each server relatively balanced in the microservice architecture It is an urgent problem to be solved. At present, the load balancing algorithm is used to balance the load of each server in the microservice architecture to maintain the high availability of the system. This article first introduced the microservice framework and its related frameworks, detailed the working principle of the Spring Cloud framework, and then analyzed load balancing algorithms such as the weighted least connection algorithm and the weighted round-robin algorithm.

Key words: Microservice architecture; Spring Cloud; load balancing; weighted least connection algorithm; weighted round-robin algorithm

1 引言

傳統的IT行業軟件多數是由各種獨立系統組成,這些系統將所有功能都包含在一個獨立單元的應用程序內,即單體架構應用。單體架構應用在面對用戶需求快速變化的互聯網環境時,出現了擴展性差、可靠性低、維護成本高等問題,許多軟件或者應用開始采用微服務架構。與傳統單體架構相比,微服務架構具有高維護性、高擴展性、高適應性、去中心化管理等特點[1-4]。微服務架構是將功能復雜的軟件或應用劃分為一組相對較小且獨立的功能單元,并使用多個獨立的服務來開發這些功能單元,每個服務單獨運行在各自的進程。隨著數據和訪問量的增加,單臺服務器無法滿足海量的數據處理請求,無法適應實際的市場需求,為了處理并發的數據存取請求和用戶訪問請求,需要多臺服務器同時在運行的狀態,并且通過負載均衡算法將來自客戶端或其他位置的請求分配給合適的服務器。

負載均衡算法按照算法原理能夠分為動態負載均衡算法、靜態負載均衡算法兩種[7]。動態負載均衡算法根據當前的服務器狀態分配任務,如最小連接數算法、加權最小連接數算法等[8]。靜態負載均衡算法按照固定比例分配任務,如輪詢算法、加權輪詢算法等。靜態負載均衡算法的優點是簡單,缺點是沒有考慮到服務器的性能和當前負載狀態,在算法執行一段時間后會破壞服務器之間的負載均衡狀態。動態負載均衡算法可根據服務器的實時負載狀況,自動將請求分配給合適的服務器,從而提高系統的整體性能,因此動態負載均衡算法在實際系統開發中得到了廣泛應用。

2 微服務架構

2.1 微服務架構

微服務架構(MicroservicesArchitecure,MSA)是指根據整個應用系統的業務需求,通過預先劃定的服務邊界、定義好的微服務進行服務組合而形成的企業級分布式應用體系架構[5-6]。隨著微服務架構的持續發展,一些中大型企業開始將傳統的單體架構應用逐漸轉化為微服務架構,并且出現了一些基于微服務架構的實踐框架,如Motan、Dubbo、Spring Cloud等,Motan、Dubbo屬于服務治理型框架,更側重于服務治理,主要提供全面的服務治理功能。與Dubbo框架相比,Motan框架去除了Dubbo框架部分不常用的功能,雖然Motan框架功能減少了,但Motan框架變得比較簡單、易用。

Spring Cloud的功能非常強大,Spring Cloud提供了開發微服務架構應用所需的服務發現(Eureka)、負載均衡(Ribbon)、配置管理(config)、服務網關(Zuul)、斷路器(Hystrix)等組件。Spring Cloud的組件架構如圖1所示。

來自外部的請求統一從Zuul網關進入,由Zuul網關轉發請求給內部的服務。當微服務在服務器上啟動時,Eureka Client都會將服務注冊到Eureka Server,并且Eureka Client還可以反過來從Eureka Server拉取注冊表,確定可用的服務,然后由Ribbon做負載均衡,經過負載均衡算法計算后,將請求發送到對應的服務器。

3 負載均衡算法

3.1 動態算法

(1)最小連接數算法

最小連接數算法是根據服務器當前的連接數,將請求分配給連接數最少的一臺服務器。

假設有n臺服務器Sk(k=1,2,...,n),Ck為服務器Sk的當前連接數,當服務器Si(i=1,2,...,n,i≠k)的連接數[Ci=minCk]時,將最新的連接請求發送給服務器Si。

最小連接數是一種簡單的動態分配服務器的算法,但在實際的生產環境中,當每臺服務器的性能有差異時,僅用服務器的連接數作為分配請求時的判斷依據是不科學的。這時需要根據每臺服務器處理請求的效率、CPU利用率、服務器類別等因素,設置每臺服務器的權值。

(2)加權最小連接數算法

假設有n臺服務器Sk(k=1,2,...,n),Ck為服務器Sk的當前連接數,Hk為服務器Sk的權值,則所有服務器的總連接數Csum=[k=1nCk]。當服務器Si(i=1,2,...,n,i≠k)的連接數Ci滿足[CiCsumHi] = [minCkCsumHk] 時,將最新的連接請求發送給服務器Si。其中Hi為服務器Si的權值。

加權最小連接數算法中,各服務器的權值表示其處理請求的性能,在處理新的連接請求時,盡可能使服務器的權值與其性能成正比,保持各服務器的負載相對均衡。

3.2 靜態算法

(1)輪詢算法

輪詢算法是將請求輪流分配給服務器。

假設有n臺服務器Sk(k=1,2,...,n),Si表示上一次選擇的服務器,i的初始值為[n-1]。當j滿足式[j=(i+1)%n]時,將最新的連接請求發送給服務器Sj。

輪詢算法假設所有服務器的軟硬件配置都相同,即處理請求的效率相同,不考慮每臺服務器目前的使用情況,即當前已連接數量和網絡帶寬等因素。當每次請求服務的間隔時間浮動較多時,輪詢算法將會導致每臺服務器的負載不是很均衡。所以這種負載均衡算法只適用于各服務器的CPU、內存、軟件等配置都相同的情況。

(2)加權輪詢算法

加權輪詢算法是根據每臺服務器處理請求的能力不同,給每個服務器分配不同的權值,使請求被分配到合適的服務器。

假設有n臺服務器Sk(k=1,2,...,n),Hk為服務器Sk的權值,[Hmax]為所有服務器權值的最大值,[G]為所有服務器權值的最大公約數。當接收到一個請求時,由服務器Si來處理,并且服務器Si在接收請求時的權值為[Wi]。[Wi]的初始值為[Hmax],并且滿足[Wi=Wi-G],如果[Wi]的值為0時,則將其重置為[Hmax]。

[Wi]的值從[Hmax]到0的過程,成為一個輪回,[Wi]的值的變化序列是一個等差數列:[Hmax,Hmax-G,Hmax-2G,Hmax-3G,...,0]。加權輪詢算法的結果是根據服務器的配置得到一個服務器序列,對于[Wi]的每個值,加權輪詢算法將遍歷所有服務器,將權值大于[Wi]的服務器放到序列中,然后[Wi]變成下一個值,再遍歷所有服務器,直到[Wi]的值為0。在[Wi]變化的過程中,不論[Wi]為何值,權值為[Hmax]的服務器每一次遍歷中都會被選中,因此權值為[Hmax]的服務器在算法結果的服務器序列中會出現[Hmax/G]次,并且當[Wi]的值為[Hwi]時,權重為[Hwi]的服務器在[Wi]后面的遍歷過程中,每一次都會被選中,并且會在結果序列中出現[Hwi/G]次,所以每個服務器在算法結果的服務器序列中出現的次數與其權值成正相關性。

4 結束語

本文從微服務架構和負載均衡算法出發,介紹了微服務框架Spring Cloud的工作原理及其相關組件的功能,解釋了加權最小連接數算法、加權輪詢算法等負載均衡算法的實現過程,并總結了各負載均衡算法的優缺點。本文中提到的加權最小連接數算法、加權輪詢算法中,每臺服務器都有對應的權值,實際上服務器權值的確定應該考慮服務器軟硬件配置及使用情況,并且應該根據服務器當前狀態浮動的,本文沒有考慮到權值動態變化的情況,比較理想化,需要進一步的研究和細化負載均衡算法來解決這一問題。

參考文獻:

[1] Knoche H, Hasselbring W. Using microservices for legacy software modernization [J]. IEEE Software, 2018, 35(3): 44-49.

[2] Rademacher F, Sorgalla J, Sachweh S. Challenges of domain-driven microservice design: a model-driven perspective [J]. IEEE Software, 2018, 35(3): 36-43.

[3] Pahl C, Brogi A, Soldani J, et al. Cloud container technologies: a state-of-the-art review [J]. IEEE Transactions on Cloud Computing, 2019, 7(3): 677-692.

[4] 鐘陳星,李杉杉,張賀,等.限界上下文視角下的微服務粒度評估[J].軟件學報,2019,30(10):3227-3241.

[5] Zhong C X, Li S S, Zhang H, et al. Microservice granularity evaluation from the perspective of bounded context [J]. Journal of Software, 2019, 30(10): 3227-3324.

[6] NewmanS. Buildingmicroservices: designing?ne-grainedsystems[M]. OReillyMedia,Inc.,2015.

[7] 張慧芳.基于動態反饋的加權最小連接數服務器負載均衡算法研究[D].上海:華東理工大學,2013.

[8] 孟曉景,張春勇.一種改進加權最小連接算法及在CDN的負載均衡技術中的應用分析[J].山東科技大學學報(自然科學版),2020,39(1):85-90.

【通聯編輯:梁書】

主站蜘蛛池模板: 五月天香蕉视频国产亚| 成人午夜视频免费看欧美| 国产精品林美惠子在线观看| 波多野结衣久久精品| 91久久国产综合精品女同我| 欧洲成人在线观看| 五月激情婷婷综合| 亚洲精品第五页| 国产第二十一页| 亚洲日本中文字幕乱码中文 | 99久久精品视香蕉蕉| 91精品网站| 欧美一级黄色影院| 日韩不卡高清视频| 免费一级毛片完整版在线看| 欧美一级夜夜爽www| 国产成人精品一区二区三在线观看| 伊人91在线| 成年午夜精品久久精品| 国产浮力第一页永久地址| 狠狠做深爱婷婷久久一区| 久久综合婷婷| 午夜日韩久久影院| 国产超碰在线观看| www.亚洲国产| 91人妻日韩人妻无码专区精品| 亚洲无码熟妇人妻AV在线| 玩两个丰满老熟女久久网| 黄色成年视频| av在线5g无码天天| 亚洲a免费| 亚洲中文字幕国产av| 中文字幕66页| 亚洲第一视频网| 2021天堂在线亚洲精品专区| 国产成人一二三| 国产成人区在线观看视频| 亚洲欧美一级一级a| 九九这里只有精品视频| 大香网伊人久久综合网2020| 996免费视频国产在线播放| 福利在线免费视频| 国产在线自乱拍播放| 欧美日韩亚洲国产主播第一区| 欧美一级在线播放| 欧美精品另类| AV片亚洲国产男人的天堂| 久久精品人人做人人综合试看| 国产在线一区视频| 亚洲中字无码AV电影在线观看| 国产女人水多毛片18| 精品免费在线视频| 久久亚洲欧美综合| 亚洲永久色| 亚洲av无码久久无遮挡| 亚洲热线99精品视频| 2021最新国产精品网站| 国产后式a一视频| 丁香五月激情图片| 精品99在线观看| 中文字幕在线播放不卡| 天堂中文在线资源| 欧美另类精品一区二区三区| 无码高潮喷水专区久久| 亚洲天堂日韩在线| 伊人成人在线| 97视频在线观看免费视频| 久久黄色小视频| 亚洲精品高清视频| 国产福利微拍精品一区二区| 久久久成年黄色视频| 国产欧美日本在线观看| 欧美中文字幕第一页线路一| 欧美成人手机在线视频| 四虎精品黑人视频| 国产成人毛片| 欧美色综合网站| 日韩精品中文字幕一区三区| 久久久久免费看成人影片| 激情无码字幕综合| 日韩毛片免费| 久久99蜜桃精品久久久久小说|