孫玄:如何打造高可用性的系統(tǒng)架構(gòu)
原創(chuàng)【51CTO.com原創(chuàng)稿件】在WOT2016移動(dòng)互聯(lián)網(wǎng)技術(shù)峰會(huì)平臺(tái)技術(shù)專場,轉(zhuǎn)轉(zhuǎn)總架構(gòu)師先生給我們帶來了《如何打造滿足千萬日活的二手交易平臺(tái)》的精彩演講,與參會(huì)的朋友共同分享了轉(zhuǎn)轉(zhuǎn)二手交易平臺(tái)的特點(diǎn),講述整體架構(gòu)設(shè)計(jì)、搜索推薦系統(tǒng)設(shè)計(jì)以及高可用實(shí)踐。
在演講開始之前,孫玄先生首先給大家介紹了關(guān)于架構(gòu)的理解。孫玄先生認(rèn)為,系統(tǒng)架構(gòu)本身比較抽象。他以大樓舉例談到,要造成一個(gè)大樓,要由兩個(gè)部分組成。首先,樓是一層一層蓋起來的,蓋樓就一定會(huì)見到鋼筋、水泥這樣的架構(gòu)固定起來,才能做成整個(gè)組織架構(gòu)。對(duì)于軟件開發(fā)是一樣的,在設(shè)計(jì)一個(gè)系統(tǒng)的時(shí)候在架構(gòu)層面一定會(huì)做分層的。其實(shí),可以把每一層看成是一個(gè)模塊,在模塊之間一定會(huì)有一些關(guān)聯(lián)關(guān)系,這時(shí)你會(huì)通過一些結(jié)合的方法來做。比如說審查與GDP,或者TCP,甚至如果做java的話,用IPC的比較多。所以,我認(rèn)為架構(gòu)由兩部分組成,一個(gè)是組建,以及組建之間的關(guān)系。
談到系統(tǒng)架構(gòu)的高可用性,孫玄先生表示,傳統(tǒng)的行業(yè)允許有一些宕機(jī)的時(shí)間存在,但是對(duì)于互聯(lián)網(wǎng)行業(yè)來說是絕對(duì)不允許的。如何做到系統(tǒng)架構(gòu)的高可用性呢?那就必須要求在任何一個(gè)環(huán)節(jié)都要做到高可用。首先,不要把整個(gè)系統(tǒng)放在一個(gè)籃子里面,這就要求開發(fā)的架構(gòu)一定是分層的,并且要求保證每一層高可用,這樣就可以保證整體是高可用。
其次,要做冗余。當(dāng)然,僅僅冗余還不夠,還要引進(jìn)無狀態(tài)設(shè)計(jì)。此外,即使是多機(jī)的情況,任何一臺(tái)機(jī)器都有可能出現(xiàn)宕機(jī)的情況,所以還要引入一些超時(shí)的機(jī)制。另外,即時(shí)有超時(shí)機(jī)制,如果重試多次就有可能導(dǎo)致使用數(shù)據(jù)就掛了,所以在這種情況下還要做整個(gè)運(yùn)行的設(shè)計(jì)。當(dāng)然,還有另外一個(gè)話題就是整個(gè)服務(wù)降級(jí),服務(wù)降級(jí)也要求我們量大的不要做,即使BRT公司,他們也會(huì)做冗余這樣的工作。
***,服務(wù)治理也非常很重要,任何系統(tǒng)到線之后,都要對(duì)服務(wù)做一系列的可視化的管理。最主要的手段是做監(jiān)控,比如一些進(jìn)程的監(jiān)控,一些語義的監(jiān)控,包括一些錯(cuò)誤的監(jiān)控,以及數(shù)據(jù)的監(jiān)控等等。
其實(shí),高可用的評(píng)價(jià)比較簡單,基本我們就是用四個(gè)9。四個(gè)9的高可用要求一年宕機(jī)的時(shí)間不能超過53分鐘,兩個(gè)9的就比較簡單,是88個(gè)小時(shí),即使88個(gè)小時(shí)也沒有那么容易達(dá)到。但是,不管怎么樣,我們的目標(biāo)是要做四個(gè)9,包括像58一樣,我們內(nèi)部也要求通過我們一些自動(dòng)化的運(yùn)維,以及整個(gè)架構(gòu)層面的優(yōu)化,要達(dá)到四個(gè)9的高可用。
“本文由孫玄于2016年8月,在WOT2016移動(dòng)互聯(lián)網(wǎng)技術(shù)峰會(huì)平臺(tái)技術(shù)專場《如何打造滿足千萬日活的二手交易平臺(tái)》主題演講整理而成。WOT2016大數(shù)據(jù)峰會(huì)將于2016年11月25-26日在北京粵財(cái)JW萬豪酒店召開,屆時(shí),數(shù)十位大數(shù)據(jù)領(lǐng)域一線專家、數(shù)據(jù)技術(shù)先行者將齊聚現(xiàn)場,在圍繞機(jī)器學(xué)習(xí)、實(shí)時(shí)計(jì)算、系統(tǒng)架構(gòu)、NoSQL技術(shù)實(shí)踐等前沿技術(shù)話題展開深度交流和溝通探討的同時(shí),分享大數(shù)據(jù)領(lǐng)域***實(shí)踐和最熱門的行業(yè)應(yīng)用。了解WOT2016大數(shù)據(jù)技術(shù)峰會(huì)更多信息,請(qǐng)登陸大會(huì)官網(wǎng):http://wot.51cto.com/2016bigdata/”
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】