• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    金山云CTO楊鋼:從零開始 做大云存儲

    發布時間:  2012/9/5 16:44:41
     近兩年,國內外云存儲市場異常火爆,不管是微軟、谷歌、蘋果、亞馬遜這樣的國際巨頭,還是國內百度、360、騰訊這樣的互聯網翹楚,又或者是聯想、華為、金山這樣的傳統廠商都紛紛表示出了對云存儲十足的熱情。

        近日,金山云CTO楊鋼在一次演講中分享自己在云存儲方面的體會《從零開始,如何做大云存儲》。楊鋼認為在云存儲火熱的今天,從個人到企業,無一不奔向云存儲這條大道。但對于金山云來說,發展到如今的云存儲規模,也是從零而始。從2007年開始,設立云存儲實驗室,2011年推出金山快盤,這期間如何邁過門檻?又有哪些技術?下面的內容楊鋼將一一向您分享其成功的經驗。

      楊鋼表示,金山云目前主要業務是金山快盤,雖然定位是個人存儲中心,在各種終端上面都有客戶端而且在國內排名也是領先的,關鍵問題是和移動終端互聯網應用我們還是學習者。這次和大家交流一些與我們自己做云存儲,金山云做云存儲做得挺早的,當時那時候存儲實驗室的負責人,許樹偉在隔壁分會場跟大家講。快盤做到現在,事實上它的存儲技術一直支持了它的發展,我會介紹一下我們整個技術演進的過程,以及希望快盤和金山云如何幫助移動互聯網開發怎么樣更快的通過云計算.的服務性質的應用。

      在現在這個年代,如果你做的是單機的應該不會有這樣的項目出現,或多或少現在所有新的應用都會帶著各種各樣互聯網服務,我們看看,以金山為例子,我們團隊來自WPS,我做了八年的Office軟件,快盤主要來自WPS團隊,因為是客戶端軟件開發團隊,怎么樣開始一段云計算.的冒險,我們從頭開始。這個地方和我們的發展軌跡稍微做一些介紹,為了在學術上更好說一些。

      首先,我們需要做在線服務,有一個很經典的架構,阿帕奇加上PSP,這個圖上的結構,所有的服務都可以做在一臺服務器上,我們叫它的All In Server,業務再往前發展可以看到一臺業務服務器,它已經沒有辦法支撐業務本身發展的需求,這個時候需要多臺業務服務器,多臺業務服務器,前面需要有負載均衡的方案,比較簡單可以采取的方案有三種的第一種,DNS Polling,第二種LVS,第三種利用反向代理來實現,我們發現數據庫開始關注了,我們首先關注數據庫的第一個方面,互聯網服務最重要的東西在數據庫里面,如果數據庫出了任何的問題,我們就回高老莊了。有一個同步的模型所有主流關系數據庫來做,這樣可以馬上利用冗余的機器來頂上。

      到了下一步,隨著互聯網越來越大,比如說我們的每日報告用戶超過了一萬人之后,單臺的機器通過本身擴展,加CPU,加硬盤,其實已經不夠用了,我們做一個水平分表,最常用的方面把USDE用一個值做到某一臺服務器,我們也可以看到這圖里面繼續往前演進,數據庫出現了Cluster的概念。再往下一步,實際上我們會遇到另外一個問題,絕大部分數據庫操作行為冷、熱數據之分,一般的讀寫比比較高的讀寫值,我們自己業務也有例外的情況,但是絕大部分是這種情況,這種情況下面我們與其說不停的提高數據庫,不管臺數還是數據庫的配置,讓數據庫顯示得更快,還不如采取更節省錢的方式,這樣數據庫投資不用那么大,這時候很自然引用了Cache。使用Cache有兩種方式,第一種方式這個Cache只讀,如果數據發生了變化就把Cache除掉,還有透寫,如果寫操作由Cache寫進去,看大家的個人喜好了。

      到這個時候一個完整的互聯網服務的結構,就已經搭成了,基本上跑到這個時候業務到底有沒有人用,基本上看得出來。剩下的就是當這個業務繼續往前發展,移動互聯網越來越大,每年負載越來越大,大家每天都在為宕機這些事情奔波的時候,我們繼續往前走。剛才提到了水平分表,我們剛才的方案非常簡單,比如說就按照USID取一臺數據庫,這種屬于固定的,固定的方式有一個比較麻煩的事情,我們要進行數據擴展,加服務器,這個時候很可能影響服務,要求一致性非常高我們得暫時中斷服務,這種對于在線上運行一段時間的業務來說不可接受的。所以我們還可以加一個數據庫路由,由它來記錄一個用戶放在哪個數據庫里面,假設增加數據庫,我們可以慢慢的進行數據遷移,如果我們的區分力度是user,如果沒有數據庫路由停機避免數據導入,這種方式不用停機,相對來說非常大的進展。

      大家知道數據庫的維護非常危險,千萬不要沒事兒干去重啟數據庫或者做一些比較大的維護操作,你很可能把數據庫讀死,造成整個業務的血崩,這種方案相對溫和。

      當業務量再往上的時候,讀寫比不斷上升,Cache,數據熱度、密度不是那么高,這個時候很可能出現數據庫在寫出請求可以做的,由于量太大就讀不出來了,常見辦法是讀寫分離,其他的從庫用來做讀,這種情況使用場景有一定的局限性,比如說數據是否要求嚴格一致性,這個是會影響方案。那么相對來說,很多網站都在用,因為在業界同行之間聊天都在用,很多網站跳過這個方案,金山快盤沒有使用這個方案,跳到后面了。到這塊一般來說這個網站的負載量已經非常大了,你比如說,我們到了這步,我們可以看到在之前的時候,把所有的邏輯只是做了橫向拆分比如說,負載均衡,像最開始的時候,所有的邏輯做了負載均衡,有多個邏輯服務器,但是當邏輯越來越復雜的時候,如果把它整合到單一的業務邏輯服務器,這個業務邏輯本身很復雜,之間有可能因為各種數據操作在一起就無法應付了,怎么都無法提高,這點基本上每個公司做互聯網服務,慢慢往前做都會遇到這個情況,而且大家都會經過這一關,把邏輯進行縱向拆分。

      大家可以看到這張示意圖,這張示意圖首先是分出了兩部分,Logical Sever和website Sever,同樣的數據庫本身也要做這種,除了剛才按照水平區分之外,如果單一數據庫涵蓋了所有數據,表比較復雜,這個數據庫本身性能影響非常大,其實做云服務,最重要的一點就是把邏輯一致的東西盡量的把它單獨劃分出來,實際上在數據庫也要做垂直分表,比如說帳號會在單獨庫里面,我們做電商庫存,商品的展現數據,評論數據放到不同數據庫里面,要求實質性非常高,比如說對于庫存要求非常高,有一些要求很低,比如說評論,延遲就延遲,無所謂。放到不同的數據庫之后,它們可以根據不同的需求去選擇不同的數據庫配置方案,這個時候大家可以看到整個業務系統,相對來說分離已經比較細了。像快盤業務邏輯拆分下來,如果在上面手繪,A4的紙已經畫不下了,得拿一張跟北京地圖那么大的紙,把服務分解和關系畫在一張圖上。


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線