故障隔離的架構(gòu)會給平臺或產(chǎn)品帶來很多好處。其中明顯的好處是提高了可用性和可擴展性,而不明品的好處是減少了上市時間和開發(fā)成本。公司會發(fā)現(xiàn),采用故障隔離的架構(gòu),回退發(fā)會更容易,而當(dāng)站點、平臺或產(chǎn)品“上線”后,再推出新功能也會更加容易。
故障隔離的架構(gòu)會給平臺或產(chǎn)品的可用性帶來很大的好處。當(dāng)一個故障隔離城或泳道在平臺或系統(tǒng)架構(gòu)級別出了故障,你失去的只是駐留在這些泳道的服務(wù)器中的功能、地理位置或客戶群。當(dāng)然,前提是你的泳道架構(gòu)設(shè)計正確,其他泳道不會調(diào)用這個出問題的泳道。在這個例子中,不論哪個泳道出故障都不會給可用性帶來什么好處,但影響卻有大小之分,所以泳道的架構(gòu)就顯得非常重要。為了說明這一點, 讓我們來對比一下支持高可用性的泳道架構(gòu)和架構(gòu)設(shè)計不良的泳道架構(gòu)。
我們在介紹各個主題時,都采用了虛構(gòu)的AllScale公司為例,這次也不例外。AllScale公司的團隊決定把創(chuàng)建泳道的概念應(yīng)用到新開發(fā)的客戶關(guān)系管理系統(tǒng)(CRM)和已有的人力資源管理系統(tǒng)(HRM)上。這兩個系統(tǒng)都是SaaS (軟件即服務(wù))平臺。CTO約翰尼.菲克斯和他的團隊從無到有地開發(fā)了CRM平臺,這個平臺支持公司層面上的多租戶,也就是說,多個公司可以駐留在一個物理數(shù)據(jù)庫中,這樣可以減少整體成本,更有效地利用資本。AllScale公司的架構(gòu)師還認(rèn)識到了長期擴展的需求,因為它們的客戶是不斷增長的。因此,他們決定,對于新開發(fā)的CRM解決方案和已有的HRM解決方案,都以客戶為邊界,劃分應(yīng)用和數(shù)據(jù)庫。約翰尼和AllScale公司的團隊決定了,不再需要劃分的最小的客戶分塊是公司內(nèi)的一個部門。AllScale公 司的架構(gòu)師還確定了要在美國范圍內(nèi),運行多個活動的數(shù)據(jù)中心。
AllScale公司的架構(gòu)師選擇了泳道,或者說故障隔離的架構(gòu)。他們大致按一個非常 大的公司部門配以幾個較小的公司的方式分配數(shù)據(jù)中心,這些客戶所需的所有服務(wù)都來自于這個數(shù)據(jù)中心。數(shù)據(jù)中心的選址盡量靠近數(shù)據(jù)中心所服務(wù)的公司的企業(yè)總部。任何一個組件發(fā)生了故障,那么只有駐留在這個數(shù)據(jù)中心的客戶會在發(fā)生停機或服務(wù)中斷的過程中在數(shù)據(jù)中心之間進(jìn)行通信。因此,一旦一個數(shù)據(jù)中心中從數(shù)據(jù)庫到邊界路由器的任何服務(wù)都不能受到影響。
局城網(wǎng)分段和多個數(shù)據(jù)庫,就可以把多個部門或一組公司放到數(shù)據(jù)中心的一個故障隔離域中。 這 Aslal公司的架構(gòu)師進(jìn)一步發(fā)現(xiàn)了一種利用泳道在數(shù)據(jù)中心中進(jìn)行擴展的方法。 借助虛擬樣地,服務(wù)也不能跨故障隔離城通信。這樣的話,除了共享的網(wǎng)絡(luò)設(shè)備外(如路由器和邊界路由 樣還可以對內(nèi)部路由器后的系統(tǒng)和服務(wù)進(jìn)行故障隔離,包括局城網(wǎng)、數(shù)據(jù)庫、應(yīng)用服務(wù)器等。同期,它允許公司把eca飯本的產(chǎn)品發(fā)布給相互隔離的客戶分段,從而進(jìn)步降低了風(fēng)險)。其他任何設(shè)備故障都會被隔離在數(shù)據(jù)中心的一一個區(qū)或城中。在實現(xiàn)時,這種設(shè)計超出了預(yù)故障隔離的架構(gòu),而不是以客戶為邊界。在這種情況下,該團隊可能會為登錄服務(wù)創(chuàng)建一個泳道,另一種方法是按照服務(wù)來劃分故際隔離城。讓我們假討AlSeal的團隊以服務(wù)為邊界創(chuàng)建了為更新銷售線索集的服務(wù)創(chuàng)建一個泳道,為查看銷售線索的服務(wù)創(chuàng)建一個泳道,為制作銷售線索衡量指標(biāo)的報表的服務(wù)創(chuàng)建一個泳道。這種方法的問題在于,一旦其中任何一個服務(wù)出了故障,都可能給其他服務(wù)帶來意想不到的影響。例如,在上述例子中,一旦登錄服務(wù)發(fā)生故障,導(dǎo)致系統(tǒng)無法訪問,那么盡管其他服務(wù)仍然可用,但可以想見,系統(tǒng)的用量會逐漸下降,因為新的登錄操作都不被接受了。這樣要與平臺進(jìn)行交互的客戶在登錄失敗后會100%受到影響。
這并不是說,絕對不應(yīng)該采用這種面向服務(wù)的隔離方法。恰好相反,這種方法可以很好地隔離代碼庫、通過隔離來縮短上市時間以及通過緩存特定服務(wù)的動作來減少擴展需求。然而,一旦你的服務(wù)要依賴于其他服務(wù),無論是以前面提到的同步方式,還是要按照時間序列,一個服務(wù)要在另一個服務(wù)之前調(diào)用,那么你都使自己陷人了故障高發(fā)的境地。這時你可以通過確保先發(fā)生的服務(wù)具有更高的可用性和冗余度,以降低它們出故障的風(fēng)險,或者也可以進(jìn)行多次劃分,進(jìn)一步隔離故障。
如果要采用前一種方法,即讓先發(fā)生的服務(wù)具有更高的可用性,常用的方法是極大地增加產(chǎn)能。此外,對每個公司進(jìn)行功能減負(fù)),也會有助于隔離某些問題。對于新的登錄代碼,強制性地讓少量用戶采用特定的登錄池服務(wù),可以減少新代碼帶給AllScale公司的風(fēng)險。在服務(wù)器上建立連接限制,可以在出于某些原因造成服務(wù)變慢時,仍然使某些客戶能夠正確登錄系統(tǒng)。
設(shè)計為能夠禁用的,我們稱之為功能減負(fù)。有了功能減負(fù)的設(shè)計,就可以把產(chǎn)品中的某個功能禁用掉,從而不會影響到,其他功能。公司路動能減負(fù)投貴的常見原因是,限制新的功能發(fā)布對可用性和 口可擴展性的負(fù)面影響。功能減負(fù)實施得當(dāng),就能夠在修復(fù)問題代碼成系統(tǒng)時,讓一個新發(fā)布的版本保留在生產(chǎn)環(huán)境中,需無需回退整個發(fā)布。通常可以通過一個軟開關(guān)讓有問題的代碼成系統(tǒng)離線,在引發(fā)意外行為的問題得到解決后,再讓它上線。
采用這種方法,AlSal公同既按照服務(wù)進(jìn)行了劃分,又以公司為基礎(chǔ)按照客戶進(jìn)行 我們傾向于采用后一種方法,即進(jìn)行
網(wǎng)站設(shè)計的多次劃分來隔離故障,因為它同時解決了可擴展性和可離,然后又在這個服務(wù)泳道中,采用泳道進(jìn)行了面向客戶的劃分。此外,AlSale公司還可以交 了劃分。首先ASCal公司以面向技術(shù)的劃分方法為主要劃分方法,通過登錄服務(wù)泳道實現(xiàn)了隔離劃分的順序,首先為組公司創(chuàng)建一 個客戶豆莢 (或泳道),然后在豆莢中,用泳道來劃分服務(wù),其中一一種服務(wù)可以是登錄服務(wù)。雖然大多數(shù)公司認(rèn)為面向客戶的劃分方法更自然,但無論哪種方法都是可行的。劃分類型,其中將介紹AKF立方以及如何把它應(yīng)用到服務(wù)、數(shù)據(jù)庫和存儲結(jié)構(gòu)上。
分享標(biāo)題:網(wǎng)站故障隔離的好處
轉(zhuǎn)載來源:http://www.rwnh.cn/news46/146696.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站設(shè)計公司、靜態(tài)網(wǎng)站、網(wǎng)站改版、面包屑導(dǎo)航、企業(yè)建站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)