亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

我們?cè)诜植际介_發(fā)中經(jīng)常聽到的一個(gè)詞就是“服務(wù)治理”。在理解“服務(wù)治理”的概念之前讓我們先理解什么是分布式系統(tǒng),分布式系統(tǒng)之間如何通過(guò)RPC(Remote Procedure Call,遠(yuǎn)程過(guò)程調(diào)用)方式通信,以及如何解決RPC框架存在的問(wèn)題,這樣才能真正地理解服務(wù)治理的核心思想。

 

分布式系統(tǒng)

分布式系統(tǒng)指的是通過(guò)網(wǎng)絡(luò)連接讓多臺(tái)計(jì)算機(jī)協(xié)同解決單臺(tái)計(jì)算機(jī)所不能解決的計(jì)算、存儲(chǔ)等問(wèn)題,多臺(tái)計(jì)算機(jī)之間通過(guò) RPC 方式通信。在使用分布式系統(tǒng)前,首要解決的問(wèn)題是如何拆解當(dāng)前面臨的問(wèn)題。通過(guò)使用多臺(tái)計(jì)算機(jī)分布式解決問(wèn)題,讓分布式系統(tǒng)中的每臺(tái)機(jī)器都負(fù)責(zé)解決原問(wèn)題的一個(gè)子集。一般來(lái)說(shuō),可以使用橫向拆分法或者縱向拆分法對(duì)復(fù)雜的系統(tǒng)進(jìn)行拆分。

◎橫向拆分:在無(wú)狀態(tài)系統(tǒng)中多部署幾個(gè)實(shí)例,通過(guò)負(fù)載均衡方式協(xié)調(diào)每個(gè)實(shí)例所負(fù)載的計(jì)算量。

◎縱向拆分:將一個(gè)大應(yīng)用拆分為多個(gè)小應(yīng)用(例如,將系統(tǒng)拆分為用戶、商品、訂單服務(wù)),每個(gè)小應(yīng)用都負(fù)責(zé)處理一部分業(yè)務(wù)。

然而,雖然通過(guò)拆分法解決了計(jì)算或存儲(chǔ)的問(wèn)題,但是使用分布式技術(shù)進(jìn)行開發(fā)會(huì)引發(fā)比單體應(yīng)用更多的問(wèn)題,比如網(wǎng)絡(luò)異常、數(shù)據(jù)一致性及分布式系統(tǒng)性能等。因此,在使用分布式架構(gòu)開發(fā)系統(tǒng)前,需要先深入理解分布式系統(tǒng)的概念和可能存在的異常。

01.分布式系統(tǒng)中的常見異常

 

◎服務(wù)器宕機(jī):服務(wù)器宕機(jī)是分布式架構(gòu)下最常見的異常之一。任何服務(wù)器都有可能發(fā)生故障,而且故障發(fā)生的類型、時(shí)間都不盡相同。所以,分布式系統(tǒng)一般允許部分服務(wù)器發(fā)生故障,但要求在部分服務(wù)器發(fā)生故障時(shí)不影響整個(gè)系統(tǒng)的正常使用。

◎網(wǎng)絡(luò)異常:服務(wù)器與服務(wù)器之間通過(guò)網(wǎng)絡(luò)通信,若在通信過(guò)程中出現(xiàn)消息丟失,則兩個(gè)節(jié)點(diǎn)之間無(wú)法進(jìn)行通信,會(huì)出現(xiàn)網(wǎng)絡(luò)分化、消息亂序等網(wǎng)絡(luò)問(wèn)題。

◎分布式系統(tǒng)的三態(tài):如果某個(gè)節(jié)點(diǎn)向另一個(gè)節(jié)點(diǎn)發(fā)起RPC請(qǐng)求,比如節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送一個(gè)消息,節(jié)點(diǎn)B根據(jù)收到的消息完成某些操作,并將操作的結(jié)果通過(guò)消息返回給節(jié)點(diǎn)A,那么這個(gè)RPC請(qǐng)求的執(zhí)行結(jié)果可能有三種狀態(tài):成功、失敗、超時(shí)(未知)。我們將這三種狀態(tài)稱為分布式系統(tǒng)的三態(tài)。在設(shè)計(jì)架構(gòu)時(shí)需要考慮成功、失敗、超時(shí)(未知)這三種狀態(tài)的處理方式。

◎存儲(chǔ)的數(shù)據(jù)丟失:對(duì)于有狀態(tài)節(jié)點(diǎn)來(lái)說(shuō),數(shù)據(jù)丟失意味著狀態(tài)丟失。通常只能從其他節(jié)點(diǎn)讀取、恢復(fù)該存儲(chǔ)數(shù)據(jù)的狀態(tài)。

02.分布式系統(tǒng)的副本分類

 

分布式系統(tǒng)的副本指的是在分布式系統(tǒng)中為數(shù)據(jù)或服務(wù)提供的冗余。該副本可分為服務(wù)副本和數(shù)據(jù)副本兩種類型。

◎服務(wù)副本:多個(gè)節(jié)點(diǎn)提供某種相同的服務(wù),這種服務(wù)不依賴本地節(jié)點(diǎn)的存儲(chǔ)狀態(tài),是一種無(wú)狀態(tài)服務(wù)。

◎數(shù)據(jù)副本:在不同的節(jié)點(diǎn)上持久化同一份數(shù)據(jù)。當(dāng)出現(xiàn)某一個(gè)節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)丟失時(shí),可以從其他副本上讀取該數(shù)據(jù)。數(shù)據(jù)多副本是分布式系統(tǒng)解決數(shù)據(jù)丟失異常的唯一方法,因?yàn)閿?shù)據(jù)被分散或者復(fù)制到不同的機(jī)器上,所以如何保證各臺(tái)主機(jī)之間數(shù)據(jù)的一致性,成為一個(gè)難點(diǎn)。

對(duì)于分布式系統(tǒng)而言,服務(wù)副本非常容易控制,由于服務(wù)本身具備無(wú)狀況特性,運(yùn)維人員可以動(dòng)態(tài)增加或者減少服務(wù)副本的數(shù)量,而不會(huì)影響服務(wù)接口返回?cái)?shù)據(jù)的正確性。數(shù)據(jù)副本分布在不同的計(jì)算機(jī)上,從技術(shù)角度來(lái)看,數(shù)據(jù)的一致性面臨著巨大的挑戰(zhàn)。數(shù)據(jù)副本的一致性通常具有以下幾種情況。

◎強(qiáng)一致性:任何時(shí)刻任何用戶或節(jié)點(diǎn)都可以讀到最近一次成功更新的副本數(shù)據(jù)。這是程度最高的一致性要求,也是實(shí)踐中最難實(shí)現(xiàn)的一致性。

◎弱一致性:系統(tǒng)并不保證進(jìn)程或者線程在任何時(shí)刻訪問(wèn)數(shù)據(jù)都會(huì)返回最新的更新過(guò)的值。系統(tǒng)在數(shù)據(jù)成功寫入之后,不承諾立即讀到最新寫入的值,也不承諾最終多久之后可以讀到最新值。

◎最終一致性:數(shù)據(jù)一旦更新成功,各個(gè)副本上的數(shù)據(jù)最終將達(dá)到完全一致的狀態(tài),但需要一定的時(shí)間。

然而,分布式系統(tǒng)也存在一些復(fù)雜特性,比如分布式系統(tǒng)的三態(tài)性、異構(gòu)性、透明性、并發(fā)性、可擴(kuò)展性等。我們?cè)趹?yīng)用分布式系統(tǒng)的過(guò)程中要仔細(xì)斟酌這些特性的優(yōu)勢(shì)和副作用。

03.分布式系統(tǒng)的設(shè)計(jì)原則

◎異構(gòu)性:由于分布式系統(tǒng)基于不同的網(wǎng)絡(luò)、操作系統(tǒng)、計(jì)算機(jī)硬件和編程語(yǔ)言,因此必須考慮采用一種通用的網(wǎng)絡(luò)通信協(xié)議來(lái)屏蔽異構(gòu)系統(tǒng)之間的差異。開發(fā)人員一般選擇中間件來(lái)屏蔽這些差異。

◎透明性:分布式系統(tǒng)中任意組件的故障及主機(jī)的升級(jí)或遷移,對(duì)用戶來(lái)說(shuō)都是透明的。

◎并發(fā)性:應(yīng)用分布式系統(tǒng)的目的是更好地共享資源,所以系統(tǒng)中的每個(gè)資源在并發(fā)環(huán)境下都必須是安全的。

◎可擴(kuò)展性:隨著業(yè)務(wù)量的增加,系統(tǒng)必須具備可擴(kuò)展性,以應(yīng)對(duì)因業(yè)務(wù)量增長(zhǎng)而增加的外部流量。

◎故障獨(dú)立性:任何計(jì)算機(jī)都有可能發(fā)生故障,而且各計(jì)算機(jī)發(fā)生的故障類型不盡相同,發(fā)生故障的時(shí)間也各不相同。所以,分布式系統(tǒng)一般允許發(fā)生部分故障,而不影響整個(gè)系統(tǒng)的正常使用。

◎數(shù)據(jù)一致性:因?yàn)閿?shù)據(jù)被分散或者復(fù)制到不同的機(jī)器上,所以需要保證各臺(tái)服務(wù)器之間數(shù)據(jù)的一致性。

◎負(fù)載均衡:由于分布式系統(tǒng)是多機(jī)協(xié)同工作的系統(tǒng),因此為了提高系統(tǒng)的整體效率和吞吐量,必須考慮最大化地發(fā)揮每個(gè)節(jié)點(diǎn)的作用,以最大化地利用資源,避免某個(gè)節(jié)點(diǎn)過(guò)載或者浪費(fèi)資源。

04.分布式系統(tǒng)的衡量指標(biāo)

◎系統(tǒng)的性能:系統(tǒng)每秒的事務(wù)處理能力,通常用TPS(Transactions Per Second)來(lái)衡量。

◎系統(tǒng)的可用性:系統(tǒng)在面對(duì)各種異常時(shí)可以正確提供服務(wù)的能力。該指標(biāo)可以用系統(tǒng)停服的時(shí)間與正常服務(wù)時(shí)間的比例來(lái)衡量,也可以用某功能的失敗次數(shù)與成功次數(shù)的比例來(lái)衡量。系統(tǒng)的可用性是分布式系統(tǒng)的重要指標(biāo),是系統(tǒng)容錯(cuò)能力的體現(xiàn)。

◎系統(tǒng)的可擴(kuò)展性:分布式系統(tǒng)通過(guò)擴(kuò)展集群的機(jī)器規(guī)模來(lái)提高系統(tǒng)性能(增大接口吞吐量、降低接口延時(shí)、增大接口并發(fā)量)、存儲(chǔ)容量、計(jì)算能力的特性。

 

RPC框架

RPC(Remote Procedure Call,遠(yuǎn)程過(guò)程調(diào)用)是一種進(jìn)程間通信方式,也是一種技術(shù)思想。使用 RPC 技術(shù)時(shí),允許本地程序通過(guò)網(wǎng)絡(luò)調(diào)用另一臺(tái)服務(wù)器上的函數(shù)或者方法,具體調(diào)用過(guò)程一般由 RPC 框架實(shí)現(xiàn),不用編碼實(shí)現(xiàn)。即無(wú)論是調(diào)用本地函數(shù)還是調(diào)用遠(yuǎn)程函數(shù),我們編寫的調(diào)用代碼在本質(zhì)上基本相同。

01.RPC框架的工作原理

RPC框架要向服務(wù)調(diào)用方和服務(wù)提供方屏蔽各類復(fù)雜性操作,比如負(fù)載均衡、序列化和反序列化、網(wǎng)絡(luò)重試、超時(shí)等,主要由客戶端、服務(wù)器端和注冊(cè)中心3種角色構(gòu)成,整體架構(gòu)如圖1所示。

一文理解分布式開發(fā)中的服務(wù)治理

 

◎客戶端(Client):調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方。客戶端調(diào)用遠(yuǎn)程服務(wù)就像調(diào)用本地函數(shù)一樣,客戶端負(fù)責(zé)序列化、反序列化、連接池管理、負(fù)載均衡、故障轉(zhuǎn)移、超時(shí)管理、異步管理等。

◎服務(wù)器端(Server):暴露服務(wù)的服務(wù)提供方。服務(wù)器端如同實(shí)現(xiàn)一個(gè)本地函數(shù)一樣來(lái)實(shí)現(xiàn)遠(yuǎn)程服務(wù)提供,服務(wù)器端需要做收發(fā)包隊(duì)列、I/O線程、工作線程、序列化及反序列化等工作。

◎注冊(cè)中心:服務(wù)注冊(cè)與發(fā)現(xiàn)的注冊(cè)中心。

02.RPC調(diào)用說(shuō)明

一次RPC調(diào)用流程主要由5部分組成,分別是客戶端、客戶端存根、服務(wù)器端存根、服務(wù)提供端和網(wǎng)絡(luò)傳輸,其調(diào)用流程如圖2所示。

◎客戶端:服務(wù)調(diào)用方。

◎客戶端存根:用于存放服務(wù)器端的地址信息,將客戶端的請(qǐng)求參數(shù)等信息打包成網(wǎng)絡(luò)消息,再通過(guò)網(wǎng)絡(luò)傳輸發(fā)送給服務(wù)器端。

◎服務(wù)器端存根:接收客戶端發(fā)送過(guò)來(lái)的請(qǐng)求消息并解包,然后調(diào)用本地服務(wù)處理。

◎服務(wù)提供端:服務(wù)的真正提供者。

◎網(wǎng)絡(luò)傳輸:底層數(shù)據(jù)傳輸,可以是TCP或HTTP。

一文理解分布式開發(fā)中的服務(wù)治理

 

服務(wù)治理

業(yè)務(wù)在剛開始時(shí)都是單體應(yīng)用,隨著用戶量和訪問(wèn)量的增加,在架構(gòu)層面會(huì)發(fā)生變化,逐步由單體應(yīng)用開發(fā)轉(zhuǎn)為分布式應(yīng)用開發(fā),比如把單體應(yīng)用中的每個(gè)模塊都按照特定的方法拆分成一組獨(dú)立的服務(wù),服務(wù)與服務(wù)之間通過(guò)HTTP或者RPC方式調(diào)用。隨著業(yè)務(wù)量的逐步增加,服務(wù)的數(shù)量也逐步增加。這時(shí)維護(hù)服務(wù)的URL地址就變得非常麻煩,所以需要設(shè)計(jì)一套系統(tǒng)來(lái)統(tǒng)一管理每個(gè)服務(wù)所對(duì)應(yīng)的URL地址。這套系統(tǒng)就叫作注冊(cè)中心。當(dāng)有多個(gè)服務(wù)時(shí),消費(fèi)者需要根據(jù)規(guī)則來(lái)調(diào)用相關(guān)服務(wù),實(shí)現(xiàn)軟負(fù)載均衡,以達(dá)到資源利用率最大化的目的。因此,服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、流量削峰、版本兼容、服務(wù)熔斷、服務(wù)降級(jí)、服務(wù)限流等方面的問(wèn)題,都是因服務(wù)拆分所引發(fā)的一系列問(wèn)題。如何解決這些問(wèn)題,讓服務(wù)更穩(wěn)定地運(yùn)行,就叫作服務(wù)治理。

總體來(lái)說(shuō),服務(wù)治理指的是企業(yè)為了確保事情順利完成而實(shí)施的內(nèi)容,包括最佳實(shí)踐、架構(gòu)原則、治理規(guī)程、規(guī)律及其他決定性的因素。下面針對(duì)服務(wù)治理過(guò)程中的各個(gè)環(huán)節(jié)做相關(guān)說(shuō)明。

(1)服務(wù):它是分布式架構(gòu)下的基礎(chǔ)單元,包括一個(gè)或一組軟件功能,其目的是不同的客戶端通過(guò)網(wǎng)絡(luò)獲取相應(yīng)的數(shù)據(jù),而不用關(guān)注底層實(shí)現(xiàn)的具體細(xì)節(jié)。以用戶服務(wù)為例,當(dāng)客戶端調(diào)用用戶服務(wù)的注冊(cè)功能時(shí),注冊(cè)信息會(huì)被寫入數(shù)據(jù)庫(kù)、緩存并發(fā)送消息來(lái)通知其他關(guān)注注冊(cè)事件的系統(tǒng),但是調(diào)用方并不清楚服務(wù)的具體處理邏輯。

(2)注冊(cè)中心:它是微服務(wù)架構(gòu)中的“通訊錄”,記錄了服務(wù)和服務(wù)地址的映射關(guān)系,主要涉及服務(wù)的提供者、服務(wù)注冊(cè)中心和服務(wù)的消費(fèi)者。在數(shù)據(jù)流程中,服務(wù)提供者在啟動(dòng)服務(wù)之后將服務(wù)注冊(cè)到注冊(cè)中心;服務(wù)消費(fèi)者(或稱為服務(wù)消費(fèi)方)在啟動(dòng)時(shí),會(huì)從注冊(cè)中心拉取相關(guān)配置,并將其放到緩存中。注冊(cè)中心的優(yōu)勢(shì)在于解耦了服務(wù)提供者和服務(wù)消費(fèi)者之間的關(guān)系,并且支持彈性擴(kuò)容和縮容。當(dāng)服務(wù)需要擴(kuò)容時(shí),只需要再部署一個(gè)該服務(wù)。當(dāng)服務(wù)成功啟動(dòng)后,會(huì)自動(dòng)被注冊(cè)到注冊(cè)中心,并推送給消費(fèi)者。

(3)服務(wù)注冊(cè)與發(fā)布:服務(wù)實(shí)例在啟動(dòng)時(shí)被加載到容器中,并將服務(wù)自身的相關(guān)信息,比如接口名稱、接口版本、IP地址、端口等注冊(cè)到注冊(cè)中心,并使用心跳機(jī)制定期刷新當(dāng)前服務(wù)在注冊(cè)中心的狀態(tài),以確認(rèn)服務(wù)狀態(tài)正常,在服務(wù)終止時(shí)將其從注冊(cè)表中刪除。服務(wù)注冊(cè)包括自注冊(cè)模式和第三方注冊(cè)模式這兩種模式。

◎自注冊(cè)模式:服務(wù)實(shí)例負(fù)責(zé)在服務(wù)注冊(cè)表中注冊(cè)和注銷服務(wù)實(shí)例,同時(shí)服務(wù)實(shí)例要發(fā)送心跳來(lái)保證注冊(cè)信息不過(guò)期。其優(yōu)點(diǎn)是,相對(duì)簡(jiǎn)單,無(wú)須其他系統(tǒng)功能的支持;缺點(diǎn)是,需要把服務(wù)實(shí)例和服務(wù)注冊(cè)表聯(lián)系起來(lái),必須在每種編程語(yǔ)言和框架內(nèi)部實(shí)現(xiàn)注冊(cè)代碼。

◎第三方注冊(cè)模式:服務(wù)實(shí)例由另一個(gè)類似的服務(wù)管理器負(fù)責(zé)注冊(cè),服務(wù)管理器通過(guò)查詢部署環(huán)境或訂閱事件來(lái)跟蹤運(yùn)行服務(wù)的改變。當(dāng)管理器發(fā)現(xiàn)一個(gè)新的可用服務(wù)時(shí),會(huì)向注冊(cè)表注冊(cè)此服務(wù),同時(shí)服務(wù)管理器負(fù)責(zé)注銷終止的服務(wù)實(shí)例。第三方注冊(cè)模式的主要優(yōu)勢(shì)是服務(wù)與服務(wù)注冊(cè)表是分離的,無(wú)須為每種編程語(yǔ)言和架構(gòu)都完成服務(wù)注冊(cè)邏輯。相應(yīng)地,服務(wù)實(shí)例是通過(guò)一個(gè)集中化管理的服務(wù)進(jìn)行管理的;缺點(diǎn)是,需要一個(gè)高可用系統(tǒng)來(lái)支撐。

(4)服務(wù)發(fā)現(xiàn):使用一個(gè)注冊(cè)中心來(lái)記錄分布式系統(tǒng)中全部服務(wù)的信息,以便其他服務(wù)快速找到這些已注冊(cè)的服務(wù)。其目前有客戶端發(fā)現(xiàn)模式和服務(wù)器端發(fā)現(xiàn)模式這兩種模式。

◎客戶端發(fā)現(xiàn)模式:客戶端從服務(wù)注冊(cè)服務(wù)中查詢所有可用服務(wù)實(shí)例的地址,使用負(fù)載均衡算法從多個(gè)服務(wù)實(shí)例中選擇一個(gè),然后發(fā)出請(qǐng)求。其優(yōu)勢(shì)在于客戶端知道可用服務(wù)注冊(cè)表的信息,因此可以定義多種負(fù)載均衡算法,而且負(fù)載均衡的壓力都集中在客戶端。

◎服務(wù)器端發(fā)現(xiàn)模式:客戶端通過(guò)負(fù)載均衡器向某個(gè)服務(wù)提出請(qǐng)求,負(fù)載均衡器從服務(wù)注冊(cè)服務(wù)中查詢所有可用服務(wù)實(shí)例的地址,將每個(gè)請(qǐng)求都轉(zhuǎn)發(fā)到可用的服務(wù)實(shí)例中。與客戶端發(fā)現(xiàn)一樣,服務(wù)實(shí)例在服務(wù)注冊(cè)表中注冊(cè)或者注銷。我們可以將HTTP服務(wù)、Nginx的負(fù)載均衡器都理解為服務(wù)器端發(fā)現(xiàn)模式。其優(yōu)點(diǎn)是,客戶端無(wú)須關(guān)注發(fā)現(xiàn)的細(xì)節(jié),可以減少客戶端框架需要完成的服務(wù)發(fā)現(xiàn)邏輯;客戶端只需簡(jiǎn)單地向負(fù)載均衡器發(fā)送請(qǐng)求。其缺點(diǎn)是,在服務(wù)器端需要配置一個(gè)高可用的負(fù)載均衡器。

(5)流量削峰:使用一些技術(shù)手段來(lái)削弱瞬時(shí)的請(qǐng)求高峰,讓系統(tǒng)吞吐量在高峰請(qǐng)求下可控,也可用于消除毛刺,使服務(wù)器資源的利用更加均衡、充分。常見的削峰策略有隊(duì)列、限頻、分層過(guò)濾、多級(jí)緩存等。

(6)版本兼容:在升級(jí)版本的過(guò)程中,需要考慮升級(jí)版本后新的數(shù)據(jù)結(jié)構(gòu)能否理解和解析舊的數(shù)據(jù),新協(xié)議能否理解舊的協(xié)議并做出預(yù)期內(nèi)合適的處理。這就需要在服務(wù)設(shè)計(jì)過(guò)程中做好版本兼容工作。

(7)服務(wù)熔斷:其作用類似于家用的保險(xiǎn)絲。當(dāng)某服務(wù)出現(xiàn)不可用或響應(yīng)超時(shí)的情況時(shí),已經(jīng)達(dá)到系統(tǒng)設(shè)定的閾值,為了防止整個(gè)系統(tǒng)出現(xiàn)雪崩,會(huì)暫時(shí)停止對(duì)該服務(wù)的調(diào)用。

(8)服務(wù)降級(jí):在服務(wù)器壓力劇增的情況下,根據(jù)當(dāng)前業(yè)務(wù)情況及流量對(duì)一些服務(wù)和頁(yè)面有策略性地降級(jí),以此釋放服務(wù)器資源,保證核心任務(wù)的正常運(yùn)行。降級(jí)時(shí)往往會(huì)指定不同的級(jí)別,面對(duì)不同的異常等級(jí)執(zhí)行不同的處理。

(9)服務(wù)限流:服務(wù)限流可以被認(rèn)為是服務(wù)降級(jí)的一種。它通過(guò)限制系統(tǒng)的輸入和輸出流量來(lái)達(dá)到保護(hù)系統(tǒng)的目的。一般來(lái)說(shuō),系統(tǒng)的吞吐量是可以被測(cè)算的。為了保證系統(tǒng)的穩(wěn)定運(yùn)行,一旦達(dá)到閾值,就需要限制流量。限制措施有延遲處理、拒絕處理或者部分拒絕處理等。

(10)負(fù)載均衡策略:它是用于解決一臺(tái)機(jī)器無(wú)法處理所有請(qǐng)求而產(chǎn)生的一種算法。當(dāng)集群里的1臺(tái)或者多臺(tái)服務(wù)器不能響應(yīng)請(qǐng)求時(shí),負(fù)載均衡策略會(huì)通過(guò)合理分?jǐn)偭髁浚尭嗟姆?wù)器均衡處理流量請(qǐng)求,不會(huì)因某一高峰時(shí)刻流量大而導(dǎo)致單個(gè)服務(wù)器的 CPU或內(nèi)存急劇上升。

 

本文節(jié)選自《架構(gòu)演變實(shí)戰(zhàn):從單體到微服務(wù)再到中臺(tái)》一書,更多精彩內(nèi)容歡迎閱讀本書!

分享到:
標(biāo)簽:分布式
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定