騰訊雲平台與技術實踐

2021-05-25 15:39:17 字數 2645 閱讀 1953

以下是**的演講實錄:

這裡有乙個比較成功的例子,崑崙這家公司遊戲放在qzone執行,目前可以做到乙個月收入分成超過800萬。這有兩個例子,這個註冊數字是900多萬,日活躍數字是800多萬,openpl的日呼叫達到700多萬。

下面講一下雲網路,這個是傳統資料中心網路拓撲,思科以前一直提倡這樣的網路拓撲,三層,最下面是接入層,中間是分布層,上面是核心層。這樣做的問題就是可能有很多接入層的交換機接到分布層,很多的分布層接到核心層。如果伺服器連到同一接入層有1g的頻寬,如果連線到不同接入層交換機的及其頻寬小於1g。這種架構造成的問題是什麼呢,程式設計師寫程式的時候要考慮這個伺服器在的是連線同乙個接入層,還是不同層的交換機。如果程式在乙個機架上執行,頻寬可以1g,如果跨機架就會跨不同層的交換機,頻寬就是只有幾十兆了,寫程式的時候要考慮到哪些不同的接入層,這些開發出來的程式不容易自由遷移,動態部署,因為網路拓撲已經反映裡面。如果不能做動態部署,資源利用率就比較低。因為它的應用不可能一天24小時都可以有很高的請求。

這種拓撲結構是google是2023年做的,**clos network。

第一級,512臺,每台下行40個1g埠,下行40個,每64臺乙個分割槽。總共會有8個分割槽。

第二級,這個核心交換機往下至少有128個10g埠,下行為64個10g,上行64個,每四台乙個分割槽。

第**,16臺,每台下行32個10g埠。

集群內20480臺伺服器,任何兩台都有1g頻寬。

集群任務排程系統,它有兩個作用。一是任務與資源匹配,提高資源利用率,靜態部署的業務都有生命週期,比如說開心農場,前兩年很火,現在下坡了,前兩年給幾千臺伺服器都不夠,下坡的時候只要給幾百台伺服器就可以了。下坡的時候怎麼把這些資源收回來,最好不需要人工,讓它自動排程,它負載低的時候,自動把伺服器分給其他應用。可以提高資源利用率,我們目標是把資源利用率提高到80%。二是排程系統要監控任務的執行,執行自動容錯,程序崩潰的時候,它可以自動把這個程序拉起,宕機的時候,重新找一台機器,把宕機上面的應用在新的機器上重新執行。除了高階容錯,還要實現自動化運維,讓運維人員壓力降低很多。

開發這樣乙個系統之後,這個任務就不是靜態部署了,寫分布式應用的程式設計師,寫的時候不需要考慮這個程式在哪些機器上執行,這些機器上頻寬有多少,這個模式就變成他寫的應用是提供給集群,至於這個應用在哪個集群上應用,是集群排程器的任務。做到這個,就可以做到伺服器符用,提高資源利用率。

hadoop,很多網際網路公司都用到hadoop,hadoop有的資料探勘跑幾十分鐘,有的跑幾分鐘就完成了,你可能還要等幾十分鐘跑完那個,然後再提交你幾分鐘的任務,目前hadoop還是類似於50年代批處理的模式,還不是分時共享的系統。我們開發這個集群任務排程系統,希望能夠排程多個hadoop的例項,有的是短時間完成的,有的是長時間完成的,他們混合在一起,然後同時跑。還希望hadoop的計算能夠跟其他的應用在乙個集群裡面共享資源。

採用這個模式之後,任務之間的通訊就不能通過ip位址和埠通訊了,開發人員寫程式的時候,都不知道這些程式在哪些機器上執行,所以對ip位址提前寫入,就希望有乙個名字解析,任務間通訊可以通過名字服務系統進行。後面會講到我們用乙個開源軟體來實現名字服務。

提高資源利用率關鍵是伺服器復用,乙個伺服器跑多個應用,而不是乙個應用。多個應用的問題他們之間互相干擾,用很多cpu,用不了cpu,或者某乙個用了很多記憶體,導致別人沒有多少記憶體可用,復用的時候需要有一定隔離保護的措施,應用互相不受干擾。

目前的應用就是虛擬機器技術,一講到雲計算,就會講到虛擬機器,kvm、vmware。實際上還有資源容器,在不同作業系統都有實現。

剛才講到集群任務排程系統需要乙個名字服務,他們直接不能用ip位址通訊,這個任務可能是遷移的,可以動態部署的,名字服務通過乙個分布式的同步系統實現。分布式  系統裡面,同步協調需求還是很多的,除了名字服務,還有配鋪同步,分布式選舉,當我做配置更改的時候,怎麼能夠迅速通知到所有的伺服器,讓他們直接把這個配置拉取下來,配置同步也是乙個需求。

另外還有乙個分布式選舉的需求,做高可用的時候,以前一些做法,一主一備,都是比較靜態制訂,主的宕了,備的上,有的是一主多備,或者一組伺服器,  不指定哪個主的,乙個宕掉了,另外自動補上。

還有群組成員管理,乙個組裡面有幾百台和幾千臺節點,它是動態的,怎麼進行組員的管理。

另外就是分布式鎖,分布式計算可能有乙個同樣的需求,需要共享資源,就是需要分布式鎖。主席用統一的平台,各個業務就會自己做這個東西,這個東西是很複雜的,後面真正要實現分布式協調是要用到乙個paxos協議,這個協議非常複雜,一不小心就做錯,把它開發成乙個平台提供給大家應用。google比較早做了這個步,他們開發了chubby提供服務。

雅虎也做了乙個開源版的chubby,zookeeper,它有五颱伺服器,三颱或者五颱、七台都可以,paxos比較複雜,所以他們發明了乙個zookeeper  atomic broadcast實現資訊同步。這五颱有兩台宕還是可用的,這些客戶就連線到某一台伺服器,讀的時候只從這台伺服器就可以了,寫的時候,這台伺服器需要把寫的資訊**給leader,然後實現同步。client寫了資料,另外乙個是讀了,這兩個也要同步,它有乙個同時機制,client寫的時候是五颱伺服器都寫了才是成功,而且資料在記憶體裡面,速度相對比較快。資料發生改變之後,伺服器會通知對這個資料感興趣的client,有通知機制。它每秒可以實現幾萬個請求。

雲儲存,儲存方面比較成熟了,幾年前google發表了system,之後還有big table,都是pb級。

騰訊雲平台與技術實踐 zz

from url 第三屆中國雲計算大會 2011年最受矚目的it業界盛會 第三屆中國雲計算大會於2011年5月18 20日在北京國家會議中心隆重舉行。本次大會由中國電子學會主辦,中國電子學會雲計算專家委員會 中國雲計算技術與產業聯盟承辦,csdn 程式設計師 雜誌和電子工業出版社協辦。以下是 的演講...

《雲計算架構技術與實踐》

摘要 2014年9月,由華為公司雲計算首席架構師顧炯炯編著,清華大學出版社出版的華為雲計算首部著作 雲計算架構技術與實踐 一書正式問世。雲計算概念誕生至今已發展了約八年時間,這八年來,相比雲計算誕生初期,雲計算技術條件 行業和市場環境均發生了巨大變化,廣大讀者對雲計算的認知需求,也從當初的粗淺概念階...

雲 構建雲計算的核心技術與平台

在讀書筆記 讓雲觸手可及,微軟雲計算實踐指南中講的是微軟對雲計算的理解以及在雲計算方面的研發成果,我看了金蝶中介軟體 奉繼承博士在中國雲計算標準化論壇中的乙個演講稿 構建雲計算的核心技術與平台 金蝶中介軟體的雲計算策略與解決方案從技術的角度 從軟體企業的角度 從廠商的角度談一談我們是怎麼理解雲計算的...