成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊軟件架構(gòu)伸縮性的三大法則

開(kāi)發(fā) 架構(gòu)
當(dāng)一個(gè)服務(wù)因抖動(dòng)或資源耗盡而不堪重負(fù)時(shí),服務(wù)將無(wú)法響應(yīng)客戶端,客戶端也會(huì)陷入停滯狀態(tài)。其直接結(jié)果就是級(jí)聯(lián)故障 —— 緩慢的服務(wù)會(huì)致使請(qǐng)求沿著請(qǐng)求路徑不斷累積,直至整個(gè)系統(tǒng)崩潰。

對(duì)于大多數(shù)商業(yè)和政府系統(tǒng)而言,在開(kāi)發(fā)與部署的初期,可伸縮性并非首要需求,可用性以及實(shí)用的新功能才是開(kāi)發(fā)周期的主要推動(dòng)因素。只要系統(tǒng)能夠滿足正常負(fù)載,便會(huì)持續(xù)添加新功能以提升系統(tǒng)的業(yè)務(wù)價(jià)值。然而,當(dāng)系統(tǒng)發(fā)展到一定階段時(shí),性能和可伸縮性會(huì)成為緊迫問(wèn)題,甚至關(guān)乎系統(tǒng)的生存。在這種情況下,架構(gòu)師有責(zé)任將系統(tǒng)演變?yōu)橐粋€(gè)響應(yīng)迅速且可伸縮的系統(tǒng)。

成本和伸縮性之間的關(guān)系

系統(tǒng)進(jìn)行伸縮的核心原則之一是能夠便捷地增添新資源以應(yīng)對(duì)增長(zhǎng)的負(fù)載。就許多系統(tǒng)來(lái)說(shuō),一種簡(jiǎn)單且有效的方法是部署多個(gè)無(wú)狀態(tài)服務(wù)器實(shí)例,并利用負(fù)載均衡器在這些實(shí)例之間分配請(qǐng)求,如下圖所示。

                

圖片圖片

倘若這些資源部署在云平臺(tái)上,其成本包括:每個(gè)服務(wù)器實(shí)例的虛擬機(jī)部署成本,以及由新請(qǐng)求和活躍請(qǐng)求的數(shù)量、所處理的數(shù)據(jù)量決定的負(fù)載均衡器成本。

在此場(chǎng)景中,隨著請(qǐng)求負(fù)載的增加,已部署的虛擬機(jī)需具備更大的處理能力,這便導(dǎo)致了更高的成本。同時(shí),負(fù)載均衡器的開(kāi)銷(xiāo)也會(huì)隨請(qǐng)求負(fù)載和數(shù)據(jù)大小成比例增長(zhǎng)。所以,成本與規(guī)模相互關(guān)聯(lián),可伸縮性的設(shè)計(jì)決策必然會(huì)影響部署成本。若忽視這一點(diǎn),可能會(huì)收到意想不到的巨額部署賬單。

那么,該如何降低成本呢?主要有兩種方式。其一,使用彈性負(fù)載均衡器,依據(jù)實(shí)時(shí)請(qǐng)求負(fù)載來(lái)調(diào)整服務(wù)器實(shí)例的數(shù)量。其二,增加每個(gè)服務(wù)器實(shí)例的容量,這通常是通過(guò)調(diào)整服務(wù)器部署參數(shù)(如線程數(shù)、連接數(shù)、堆大小等)來(lái)實(shí)現(xiàn)。精心選擇參數(shù)設(shè)置能夠顯著提升性能,進(jìn)而提高容量。

注意系統(tǒng)瓶頸

對(duì)一個(gè)系統(tǒng)進(jìn)行伸縮,本質(zhì)上是要提升它的容量。在上述示例中,我們通過(guò)部署更多的服務(wù)器實(shí)例來(lái)增強(qiáng)請(qǐng)求處理能力。然而,軟件系統(tǒng)是由多個(gè)相互依存的處理元素或微服務(wù)構(gòu)成的,所以在增加一部分微服務(wù)容量時(shí),不可避免地會(huì)受到其他一些微服務(wù)的牽制。在我們的負(fù)載均衡示例里,假設(shè)服務(wù)器實(shí)例都連接至同一個(gè)共享數(shù)據(jù)庫(kù)。隨著部署的服務(wù)器數(shù)量增多,數(shù)據(jù)庫(kù)的請(qǐng)求負(fù)載也隨之增加(如下圖)。

圖片圖片

在某個(gè)階段,數(shù)據(jù)庫(kù)會(huì)達(dá)到飽和狀態(tài),數(shù)據(jù)庫(kù)訪問(wèn)將開(kāi)始出現(xiàn)較大的延遲。此時(shí),數(shù)據(jù)庫(kù)成為瓶頸 —— 即便增加更多的服務(wù)器處理能力也于事無(wú)補(bǔ)。若要進(jìn)一步進(jìn)行伸縮,就需要以某種方式增加數(shù)據(jù)庫(kù)的容量。可以嘗試優(yōu)化查詢,或者增添更多的 CPU 或內(nèi)存,也可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行復(fù)制或分片。除此之外,還有許多其他解決方案。系統(tǒng)中的共享資源都有可能成為瓶頸。

當(dāng)在架構(gòu)的某些部分增加容量時(shí),需要仔細(xì)考量下游的容量,確保不會(huì)突然對(duì)系統(tǒng)造成沖擊。因?yàn)檫@樣會(huì)迅速引發(fā)級(jí)聯(lián)故障(參見(jiàn)下一條規(guī)則),并致使整個(gè)系統(tǒng)崩潰。數(shù)據(jù)庫(kù)、消息隊(duì)列、長(zhǎng)延遲網(wǎng)絡(luò)連接、線程和連接池以及共享微服務(wù)都是潛在的瓶頸。可以肯定的是,高流量負(fù)載會(huì)很快使這些瓶頸顯露出來(lái)。關(guān)鍵在于當(dāng)瓶頸暴露時(shí),能夠防止系統(tǒng)突然崩潰,并迅速部署更多的能力。

慢服務(wù)比故障服務(wù)更有害

在正常情況下,系統(tǒng)應(yīng)當(dāng)能夠?yàn)槲⒎?wù)和數(shù)據(jù)庫(kù)提供穩(wěn)定且低延遲的通信。當(dāng)系統(tǒng)負(fù)載處于正常的配置水平時(shí),性能是可預(yù)測(cè)、一致且快速的,如下圖所示。

                           

圖片圖片

一旦客戶端負(fù)載超出正常水平,微服務(wù)之間的請(qǐng)求延遲便會(huì)開(kāi)始增加。特別是在傳入的請(qǐng)求負(fù)載持續(xù)超過(guò)容量(如服務(wù) B)的情況下,未完成的請(qǐng)求會(huì)在微服務(wù) A 中堆積,由于下游延遲變慢,該微服務(wù)此時(shí)接收的請(qǐng)求比已完成的請(qǐng)求更多。

                         

圖片圖片

當(dāng)一個(gè)服務(wù)因抖動(dòng)或資源耗盡而不堪重負(fù)時(shí),服務(wù)將無(wú)法響應(yīng)客戶端,客戶端也會(huì)陷入停滯狀態(tài)。其直接結(jié)果就是級(jí)聯(lián)故障 —— 緩慢的服務(wù)會(huì)致使請(qǐng)求沿著請(qǐng)求路徑不斷累積,直至整個(gè)系統(tǒng)崩潰。一些架構(gòu)模式(如回路斷路器和隔板)可用于防止級(jí)聯(lián)故障。若服務(wù)的延遲超過(guò)指定值,斷路器會(huì)調(diào)節(jié)請(qǐng)求負(fù)載,甚至將其斷開(kāi)。當(dāng)僅有一個(gè)下游依賴項(xiàng)發(fā)生故障時(shí),隔板能夠保護(hù)上游的微服務(wù)不發(fā)生故障。這些措施可用于構(gòu)建具有彈性且高度可伸縮的架構(gòu)。

責(zé)任編輯:武曉燕 來(lái)源: 二進(jìn)制跳動(dòng)
相關(guān)推薦

2024-04-03 08:58:48

軟件架構(gòu)隔板

2016-11-03 13:11:21

phpphp框架

2011-01-18 13:41:40

運(yùn)維法則

2013-10-16 10:45:29

JVMJava

2013-12-25 10:09:42

2009-09-16 10:00:14

可伸縮性Web服務(wù)

2016-02-15 10:57:39

SaaSSaaS運(yùn)營(yíng)SaaS服務(wù)

2015-09-17 09:30:50

云架構(gòu)可伸縮性風(fēng)險(xiǎn)

2010-07-06 10:53:41

RationalJazz測(cè)試管理

2009-08-13 18:33:25

2009-08-20 10:30:55

可伸縮性系統(tǒng)

2009-11-11 16:07:09

OSPF路由協(xié)議

2009-08-12 22:14:12

2010-05-18 17:18:32

IIS服務(wù)器

2024-09-13 13:50:50

2015-08-31 09:46:59

公有云云成本

2019-12-20 07:59:50

MySQL索引

2020-06-08 08:37:11

數(shù)據(jù)管理混合云

2010-07-01 14:05:34

SQL Server數(shù)

2019-11-04 14:34:45

人生第一份工作云計(jì)算技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 青青艹在线视频 | 欧美高清免费 | av超碰 | 久久国产精品一区二区 | 自拍偷拍第一页 | 欧美久久久久 | 久久成人精品视频 | 久久99精品久久久久久噜噜 | 亚洲国产精品成人无久久精品 | 日日夜夜草 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美不卡视频一区发布 | 天天综合操 | 久久亚洲精品国产精品紫薇 | 国产精品国产精品国产专区不蜜 | 亚洲激情一区二区三区 | 国产日韩欧美中文 | 国产精品久久久久久久7电影 | 亚洲 欧美 日韩 精品 | 中文字幕在线观看 | 免费一级网站 | 亚洲高清在线免费观看 | 国产成人免费观看 | 欧美精品国产一区二区 | 色视频网站免费 | 性一交一乱一伦视频免费观看 | 丁香久久 | 盗摄精品av一区二区三区 | 色天天综合| 国产精品日女人 | 亚洲欧美精品一区 | 99热精品在线观看 | 久久久久久免费精品一区二区三区 | 久久成人精品视频 | 成人免费三级电影 | 亚洲精品久久久久久一区二区 | 成人国产精品色哟哟 | 欧美日韩中文国产一区发布 | av网站免费| 欧美日韩视频在线 | 久草色视频|