網(wǎng)站建設(shè)高可用體系化建設(shè)

2022-05-02    分類: 網(wǎng)站建設(shè)

除了從觀念上重視系統(tǒng)研發(fā)生命周期的各個(gè)階段以外,真正建設(shè)高可用的系統(tǒng)還需要一整套工具體系的支撐,這套體系包括壓測體系、管控體系、監(jiān)控體系、恢復(fù)體系和度量體系。
1.壓測體系
壓測體系是測試時(shí)發(fā)現(xiàn)問題的重要手段。壓測除了能幫助發(fā)現(xiàn)功能異常外,還能發(fā)現(xiàn)一些平時(shí)不容易發(fā)現(xiàn)的問題,如當(dāng)系統(tǒng)壓力大時(shí)系統(tǒng)的表現(xiàn)情況、線上系統(tǒng)的容量配比是否合理、系統(tǒng)的容災(zāi)保護(hù)是否到位等。壓測一般分為單系統(tǒng)壓測和全鏈路壓測,我們所說的壓測是線上真實(shí)生產(chǎn)環(huán)境的壓力測試。

(1)單系統(tǒng)壓測
比較容易實(shí)現(xiàn),有多種實(shí)現(xiàn)手段。
種是引流的方式,就是將線上集群中的流量集中到少部分的機(jī)器上,當(dāng)這些機(jī)器流量變大時(shí)就會達(dá)到瓶頸,就能得出單機(jī)的極限性能,根據(jù)單機(jī)的性能就能推算出整個(gè)集群的性能。由于是線上的真實(shí)用戶的訪問請求,這種引流的方式不會產(chǎn)生額外的測試數(shù)據(jù),所以對讀、寫系統(tǒng)都合適。
另外一種是放大流量的方式。例如通過 Tcpcopy工具可以把一個(gè)請求copy出多個(gè)重復(fù)的請求;還有一個(gè)方式是針對頁面類型這種系統(tǒng),可以在頁面中注入一些
JavascriptnewImage.r-htp://item.beta.taobao.com/tem.htm?id-fitemld)
在請求這個(gè)頁面時(shí),會自動(dòng)向服務(wù)端額外發(fā)送一個(gè)請求,這樣可以讓用戶幫我們制造流量達(dá)到壓測的目的。當(dāng)然這種方式會產(chǎn)生壓測數(shù)據(jù),所以只適合讀系統(tǒng)而不適合寫系統(tǒng)。
(2)全鏈路壓測
全鏈路壓測是目前比較好的、可以制造出線上大流量的手段。它的優(yōu)點(diǎn)在于能串聯(lián)線上全部系統(tǒng),并讓每個(gè)系統(tǒng)同時(shí)達(dá)到流量峰值(尤其是公共系統(tǒng)),所以適用的場景更多,但實(shí)施成本相對較高。
全鏈路壓測的技術(shù)難度并不大,技術(shù)手段主要有流量的制造、流量的標(biāo)記、測試數(shù)據(jù)的處理,全鏈路壓測的架構(gòu)。
流量的制造除了要能夠控制流量大小外,還要注意流量發(fā)起所在的物理網(wǎng)絡(luò)位置最好能保證流量是從不同的地理位置發(fā)起的,流量發(fā)起端可以部署在各地的CDN節(jié)點(diǎn)中,并把不同的網(wǎng)絡(luò)運(yùn)營商也考慮進(jìn)來,這樣能更好地模擬真實(shí)的用戶請求。流量的標(biāo)記
流量制造出來以后,需要做標(biāo)記,因?yàn)樗鼈儗儆跍y試流量,它們的數(shù)據(jù)是測試數(shù)據(jù),不能和線上的真實(shí)數(shù)據(jù)混同。
標(biāo)記流量有多種方式:一種是設(shè)計(jì)不同的數(shù)據(jù),例如商品數(shù)據(jù)的商品ID都以999開頭、把訂單ID設(shè)置在某個(gè)特殊的區(qū)段內(nèi);第二種是給每個(gè)請求貼上一個(gè)tace標(biāo)簽,每個(gè)系統(tǒng)調(diào)用的地方都能識別出這個(gè)標(biāo)簽,一方面可以做一些特殊處理,如取消 token驗(yàn)證,另外一方面也可以把它路由到特殊的數(shù)據(jù)表中。
tace的傳遞是一個(gè)難題,最好的方式是通過中間件來完成:從最外面的HTP協(xié)議將tace添加在 Header中,到應(yīng)用的RPC調(diào)用中也可以加到協(xié)議頭中,再到數(shù)據(jù)層中也一樣,最重要的是要保證race標(biāo)簽不能被丟掉否則將出現(xiàn)臟數(shù)據(jù)。
測試數(shù)據(jù)的處理
對測試數(shù)據(jù)的處理是最關(guān)鍵的環(huán)節(jié),因?yàn)槭蔷€上真實(shí)生產(chǎn)環(huán)境的壓測,所以對產(chǎn)生的數(shù)據(jù)的處理不能影響線上的真實(shí)數(shù)據(jù)。對此,我們提出影子表的概念,它和線上的真實(shí)表完全一樣,甚至和真實(shí)表一樣用在同一個(gè)數(shù)據(jù)庫實(shí)例中,通過傳遞下來的tace標(biāo)記把這個(gè)請求需要寫的數(shù)據(jù)路由到影子表中,這樣測試流量的讀寫都在影子表中完成,不會影響線上的真實(shí)數(shù)據(jù)。將測試數(shù)據(jù)通過影子表來隔離是非常關(guān)鍵的,如果放在一起會引起很多麻煩,也不好清理,即使能夠清理也會影響正式表的主鍵生成規(guī)則,影響下游BI對數(shù)據(jù)的分析和一些監(jiān)控指標(biāo)的展示等。
2.管控體系
管控體系主要是在遇到一些異常情況時(shí)提供保護(hù)系統(tǒng)的措施,包括開關(guān)系統(tǒng)、預(yù)案系統(tǒng)、限流降級系統(tǒng)等。
1)開關(guān)系統(tǒng)
開關(guān)系統(tǒng)主要是管理一些線上常用的操作,尤其是一些帶有聯(lián)動(dòng)性的操作,通過統(tǒng)一管理可以減少出錯(cuò)的概率。網(wǎng)站建設(shè)開關(guān)系統(tǒng)既要支持基于內(nèi)存和持久化的操作方式,也要支持單機(jī)和集群的靈活操作方式。

分享名稱:網(wǎng)站建設(shè)高可用體系化建設(shè)
當(dāng)前路徑:http://www.muchs.cn/news11/148561.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)