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