免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
多機(jī)房多活架構(gòu),究竟怎么玩?
前情提要:
當(dāng)年,我們是怎么平滑上云的?》一文中提到了上云的背景,將所有的系統(tǒng),從一個機(jī)房,遷移到另一個機(jī)房。

如上圖:
遷移之前,系統(tǒng)部署在機(jī)房A(M6)內(nèi),是單機(jī)房架構(gòu)。
遷移之后,系統(tǒng)部署在機(jī)房B(阿里云)內(nèi),換了一個機(jī)房。

當(dāng)年,我們是怎么平滑上云的?》有三結(jié)論:
(1)單機(jī)房架構(gòu)的核心是“全連接”;
(2)機(jī)房遷移方案的設(shè)計目標(biāo)是:平滑遷移,不停服務(wù);可以分批遷移;隨時可以回滾;
(3)想要平滑的實(shí)施機(jī)房遷移,臨時性的多機(jī)房架構(gòu)不可避免;

【4】核心問題四,臨時性多機(jī)房架構(gòu)如何實(shí)施?

如前文所述,如果將單機(jī)房“全連接”架構(gòu)復(fù)制到多機(jī)房,會有大量跨機(jī)房調(diào)用,極大增加請求時延,是業(yè)務(wù)無法接受的,要想降低這個時延,必須實(shí)施“同機(jī)房連接”。

多機(jī)房多活架構(gòu),什么是理想狀態(tài)下的“同機(jī)房連接”?
如上圖所示,多機(jī)房多活架構(gòu),最理想狀態(tài)下,除了異步數(shù)據(jù)同步跨機(jī)房通訊,其他所有通訊均為“同機(jī)房連接”:
(1)web連業(yè)務(wù)服務(wù);
(2)業(yè)務(wù)服務(wù)連基礎(chǔ)服務(wù);
(3)服務(wù)連數(shù)據(jù)庫,主庫寫,從庫讀,讀寫分離;

上述架構(gòu),每個機(jī)房是一套獨(dú)立的系統(tǒng),僅僅通過異步數(shù)據(jù)同步獲取全量數(shù)據(jù),當(dāng)發(fā)生機(jī)房故障時,將流量切到另一個機(jī)房,就能冗余“機(jī)房級”故障,實(shí)現(xiàn)高可用。

上述多機(jī)房架構(gòu)存在什么問題?
“異步數(shù)據(jù)同步”存在延時(例如:1min),這個延時的存在,會使得兩個機(jī)房的數(shù)據(jù)不一致,從而導(dǎo)致嚴(yán)重的業(yè)務(wù)問題。

舉個例子,某一個時刻,用戶X有余額100元,兩個機(jī)房都存儲有該余額的精準(zhǔn)數(shù)據(jù),接下來:
(1)余額100,X在北京(就近訪問機(jī)房A)消費(fèi)了80元,余額僅剩20元,該數(shù)據(jù)在1分鐘后會同步到機(jī)房B;
(2)余額100,X的夫人在廣州(就近訪問機(jī)房B)用X的賬號消費(fèi)了70元,余額剩余30元,該數(shù)據(jù)在1分鐘后也會同步到機(jī)房A;

從而導(dǎo)致:
(1)超額消費(fèi)(100余額,卻買了150的東西);
(2)余額異常(余額是20,還是30?);

上述架構(gòu)適合于什么業(yè)務(wù)場景?
任何脫離業(yè)務(wù)的架構(gòu)設(shè)計都是耍流氓。

當(dāng)每個機(jī)房都有很多全局業(yè)務(wù)數(shù)據(jù)的訪問場景時,上述多機(jī)房架構(gòu)并不適用,會存在大量數(shù)據(jù)不一致。但當(dāng)每個機(jī)房都訪問局部業(yè)務(wù)數(shù)據(jù)時,上述多機(jī)房架構(gòu)仍然是可行的。

典型的業(yè)務(wù):滴滴,快狗打車。

這些業(yè)務(wù)具備數(shù)據(jù)聚集效應(yīng)
(1)下單用戶在同一個城市;
(2)接單司機(jī)在同一個城市;
(3)交易訂單在同一個城市;
這類業(yè)務(wù)非常適合上述多機(jī)房多活架構(gòu),多個機(jī)房之間即使存在1分鐘延時的“異步數(shù)據(jù)同步”,對業(yè)務(wù)也不會造成太大的影響。

多機(jī)房多活架構(gòu),做不到理想狀態(tài)下的“同機(jī)房連接”,有沒有折中方案?
如果完全避免跨機(jī)房調(diào)用的理想狀態(tài)做不到,就盡量做到“最小化”跨機(jī)房調(diào)用。

如上圖所示,在非必須的情況下,優(yōu)先連接同機(jī)房的站點(diǎn)與服務(wù):
(1)站點(diǎn)層只連接同機(jī)房的業(yè)務(wù)服務(wù)層;
(2)業(yè)務(wù)服務(wù)層只連接同機(jī)房的基礎(chǔ)服務(wù)層;
(3)服務(wù)層只連接同機(jī)房的“讀”庫;
(4)對于寫庫,沒辦法,只有跨機(jī)房讀“寫”庫了;

該方案沒有完全避免跨機(jī)房調(diào)用,但它做到了“最小化”跨機(jī)房調(diào)用,只有寫請求是跨機(jī)房的。

但互聯(lián)網(wǎng)的業(yè)務(wù),絕大部分是讀多寫少的業(yè)務(wù):
(1)百度的搜索100%是讀業(yè)務(wù);
(2)京東淘寶電商99%的瀏覽搜索是讀業(yè)務(wù),只有下單支付是寫業(yè)務(wù);
(3)58同城99%帖子的列表詳情查看是讀業(yè)務(wù),只有發(fā)布帖子是寫業(yè)務(wù);

寫業(yè)務(wù)比例相對少,只有很少請求會跨機(jī)房調(diào)用。

該多機(jī)房多活架構(gòu),并沒有做到100%的“同機(jī)房連接”,通常稱作偽多機(jī)房多活架構(gòu)。

偽多機(jī)房多活架構(gòu),有“主機(jī)房”和“從機(jī)房”的差別。

多機(jī)房多活架構(gòu)的初衷是容機(jī)房故障,該架構(gòu)當(dāng)出現(xiàn)機(jī)房故障時,可以把入口處流量切到另一個機(jī)房:
(1)如果掛掉的是,不包含主庫的從機(jī)房,遷移流量后能直接容錯;
(2)如果掛掉的是,包含主庫的主機(jī)房,只遷移流量,系統(tǒng)整體99%的讀請求可以容錯,但1%的寫請求會受到影響,此時需要將從庫變?yōu)橹鲙?,才能完全容錯。這個過程需要DBA介入,不需要所有業(yè)務(wù)線上游修改。
畫外音:除非,站點(diǎn)和服務(wù)使用內(nèi)網(wǎng)IP,而不是內(nèi)網(wǎng)域名連接數(shù)據(jù)庫。架構(gòu)師之路已經(jīng)強(qiáng)調(diào)過很多次,不要使用內(nèi)網(wǎng)IP,一定要使用內(nèi)網(wǎng)域名。

偽多機(jī)房多活架構(gòu),是一個實(shí)踐性,落地性很強(qiáng)的架構(gòu),它對原有架構(gòu)體系的沖擊非常小,和單機(jī)房架構(gòu)相比,僅僅是:
(1)跨機(jī)房主從同步數(shù)據(jù),會多10毫秒延時;
畫外音:主從同步數(shù)據(jù),本來就會有延時。
(2)跨機(jī)房寫,會多10毫秒延時;
 
小結(jié)
(1)理想多機(jī)房多活架構(gòu),是純粹的“同機(jī)房連接”,僅有異步數(shù)據(jù)同步會跨機(jī)房;
(2)理想多機(jī)房多活架構(gòu),會有較嚴(yán)重數(shù)據(jù)一致性問題,僅適用于具備數(shù)據(jù)聚集效應(yīng)的業(yè)務(wù)場景,例如:滴滴,快狗打車
(3)偽多機(jī)房多活架構(gòu),思路是“最小化跨機(jī)房連接”,機(jī)房區(qū)分主次,落地性強(qiáng),對原有架構(gòu)沖擊較小,強(qiáng)烈推薦;

臨時性多機(jī)房多活架構(gòu),是機(jī)房遷移過程中的一個過渡狀態(tài),機(jī)房遷移步驟又該如何?且聽明天分解。

思路比結(jié)論重要。

架構(gòu)師之路-分享技術(shù)思路

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
醫(yī)療云技術(shù)Q&A
主從DB與cache一致性
響應(yīng)式微服務(wù)架構(gòu)-分布式系統(tǒng)設(shè)計原則
云計算資源管理平臺建設(shè)及應(yīng)用
騰訊,海外計費(fèi)系統(tǒng)架構(gòu)剖析
評點(diǎn)一下新浪微博的技術(shù)架構(gòu)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服