国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

MySpace聚友網CTO凌聰談網站開發與運維
2010-04-23   網絡

主持人:
  網上沖浪已經成為網友們生活中必不可少的一部分,大家在網上網羅信息交流互動,網站的技術架構決定著網站的運營,目前主流的網站架構包括以下三種,即以J2EE為首的Java傳統PHP架構,以及微軟的ASP.net,今天我們的訪談也將圍繞網站架構的一些問題展開。MySpace聚友網是一個在線社區,在這里可以結交更多的新朋友,MySpace選擇了PHP和ASP.net并存的架構,今天我們邀請了MySpace的凌聰先生與我們探討一下MySpace的架構完成。
凌聰:
  大家好!
主持人:
  首先介紹一下MySpace在國內發展的歷程。
凌聰:
  MySpace是在07年4月份在美國8月服務器遷到中國,除此之外我們還保持著跟美國用戶的互聯互通,MySpace目前的定位是一個泛社區,音樂產品是我們的主要產品。也有游戲和微博客等。
主持人:
  現在MySpace網站注冊用戶大概多少?
凌聰:
  1200萬,活躍用戶600萬左右。
主持人:
  每天訪問量大概是什么范圍?
凌聰:
  2400萬左右。
主持人:
  這么大的訪問對網站架構肯定有很高的要求,MySpace找朋友版塊里,雖然有很多的圖片打開速度很快,這個是怎么實現的呢?
凌聰:
  找朋友版塊圖片很多,之前是用table做的,影響頁面加載速度,現在我們采用div和DBBT形式實現,還有就是后置渲染,我們是框架完成以后用JS填充,這種效果是先切出框架再添進去。
主持人:
  在對MySpace有了初步了解之后下面一起討論一下網站的技術架構問題。前面已經提到MySpace選擇的是PHP與ASP.net并存的架構,MySpace為什么要選擇這樣的架構呢?
凌聰:
  MySpace一開始從美國遷過來的時候是.NET架構,它相對來說性能比PHP稍微快一些。另外ASP.net能夠做一些并行框架。比如說訪問一個Home的時候可以并發的從不同的數據源獲取數據整合起來,像目前myrebuild的框架,也就是制作一個實時的myrebuild的框架,在ASP.net是很容易實現的,但是用PHP就需要制作中間件,這樣第一速度比較快,可以做分布式的框架,另外ASP.net可以比較容易集成自己語言的特性。現在來說,我們的緩存系統是我們自己build的,它也是保證我們網站性能很重要的一部分。傳統的memory cache都是C寫的,但是我們的是用.NET寫的,它可以集成C++的元素。現在這個架構是擴展性很高存儲性能比較高框架。PHP比較容易學開發速度比較快,上手比較快,相對來說開發成本比較低,對于一些快速開發應用用PHP合適,所以我們兩種架構并存。現在新開發的項目一般用PHP開發,因為開發速度相對快一些。
主持人:
  在網站中不同的部分選擇不同的架構嗎?
凌聰:
  對。性能比較高的用ASP.net去做,比如home,blog,SNS核心模塊是用ASP.net做,比如音樂是用PHP做的,它們之間的通信由中間件來實現。
主持人:
這兩個會用不同的東西實現嗎?
凌聰:
  現在ASP.net主要在Windows上做的,PHP用linux做的。
主持人:
  目前ASP.net用的是什么版本?
凌聰:
  3.5SPE版本。
主持人:
  您在使用ASP.net進行網站開發過程中有沒有遇到什么問題或者困難,您是怎么解決的呢?
凌聰:
  ASP.net的困難比較多,第一ASP.net因為它是一個編譯執行的語言,這就很痛苦。比如今天發現某個字錯了,要改這個字,會有一個比較麻煩的動作,更改一個字的話頁面會出編譯,這會影響它的速度。另外ASP.net IDE很多人喜歡QBI代碼,很多人寫到CS代碼里,結果改一個東西可能要編譯,編譯再部署的話會直接影響網站速度。現在我們解決的方式是增長了部署的流程,我們做了自動化部署的腳本,是分批部署,三分之一機器下線部署,預熱,然后再上線。現在是自動化部署的過程,整個過程大概是20分鐘。美國那邊也是這樣的,它的機器更多,大概兩個小時部署完所有的機器,大概幾千臺機器。所以部署是一個很大的問題,ASP.net和JAVA是一樣的,因為它的編譯語言。PHP部署相當快就沒有這個問題。
  另外,在并行開發上ASP.net必須走一個build的過程,把代碼merger起來。我們做了一個自動build腳本,開發人員把代碼確定到TFS里面,由一個工程師從開發源代碼服務器同步到部署的服務器,部署服務器做自動編譯的腳步來自動部署,這樣要做大量的工具開發,另外一個是要做非常多大量的部署腳本。
主持人:
  目前還是有很多網友在用ASP.net進行網站開發。我們也希望您分享一些這方面的經驗讓大家可以借鑒一下。
凌聰:
  我建議大家不要用ASP.net Sever control,ASP.net里面會有一些state數據,數據量過大,這些數據會增加客戶端的傳輸量,所以我建議大家少用或者不用ASP.net Sever control。ASP.net MVC正在廢棄這個框架,這是很明智的。
  MySpace的cashe系統還是比較先進的,cashe系統主要分為三層,一層叫RELAY,RELAY是做一消息傳輸的機制,比如要存儲某一類型的數據,首先會找到哪組服務器存儲這個數據,它會把數據扔到這組服務器上。RELAY比如要做一個存儲的消息的傳送機制,把這個數據拿出來,會在這組服務器挑一個節點把這個數據吐出來給你,如果存儲一個數據找到任何一個結點,這個結點會做異布分發。現在網站用的比如一個數據在一個單點的的話,這個結點會從一個地方去拿,如果這個點down了就要從數據庫去讀取,我們現在的RELAY結構做的是多點供應的。而在cashe系統中, 消息傳遞的系統是很重要的,消息傳遞系統一個要支持類型系統。
  另外要支持分布式冗余存儲,還有如果數據量大的話還要支持不同模式的分塊,我們支持MODE模式、cashe模式、renge模式分塊,如:我們按用戶ID分,比如0-1000萬是一個區,1-2千萬是另一個區。有多種模式的算法,這是消息傳輸機制。
  我們的框架還支持多種存儲components,我們下面一層就是存儲,我們還有不同的數據可以存到不同的數據存儲區,不同存儲區有性能的區別,比如我們有一個最快叫ImageMemory storage,支持的ops大概是66萬次每秒,這時相當快的。比它差一點的是28萬次每秒。我們已經引入了Memory components,現在做的是7萬次ops每秒,我們可以按照不同的需求存儲到不同的存儲區域。比如我們可以最快的拿取用戶的基本信息,這個可能要求很快,我們會放到最快的存儲里。而其他的非重要信息可以存儲到速度差一些的存儲區里。我們的存儲組件多種多樣可以按照不同的需求做不同的存儲組件。
  下一層叫計算Component,我的優勢所在。我們可以在存儲結點上做計算,離存儲結點最近的地方做計算,這樣可以防止大量網絡消耗。很多第三方網站用的是把所有的數據吐出來做計算,這樣會帶來很多計算消耗。我們在上面做了計算組件可以把數據做整合,直接進行數據過濾,這樣可以防止過多的數據傳輸到外面,減少網絡帶寬的消耗。這是我們一個比較出彩的部分。就是我們直接做矩形計算,因為就近計算有很大變化,這個如果用C做的數據有很大的差異,如果用ASP.net做的話還是有能力的。
主持人:
  我聽您講的我理解的就是咱們做了一個過濾器對數據進行不同的劃分,一方面節約了網絡的帶寬資源,另一方面哪些信息比較急可以先進行發布或者存儲?
凌聰:
  也不是這樣比如我做的過濾是一種計算,運算是一種計算,計算組件這部分是負責要做一些實時的計算,比如說我要計算我的好友在線人數,就把好友ID直接傳進來,然后直接把存儲上計算出來,不會像傳統的結構首先把服務器上的數據全部拿出來,然后在WEB服務器上做計算,這樣很浪費帶寬資源。我們是直接在計算組件上做計算。另外myrebuilds框架,我們前面會把數據做分發,客戶端組件會把這些數據并發的發到各個組件,數據采集完了做一個rebuilds的過程,然后把數量數據吐出來給用戶。這是三層,前面那層是消息傳遞層relay,有一層是存儲層,存儲層上面有一層計算組件是計算這些數據的。如果不需要對數據進行計算只是簡單存儲的話,這組件就可以沒有。我們引進的概念叫就近概念。
主持人:
  現在有一種新技術叫AJAX技術,能簡單介紹一下嗎?
凌聰:
  我們網站使用主要是強用戶交互上,比如發一個微博客,直接顯示在頁面上,這不需要做太多的頁面交互。因為這樣對用戶感受來說很差,每次要刷頁面。另外是在帶寬的節省上,因為每刷一次頁面帶來的問題會增加很多傳輸量。
主持人:
  AJAX技術主要實現什么?
凌聰:
  實現頁面不刷新,主要目的是提高用戶體驗度,以及可以節省帶寬。
主持人:
  剛剛您已經提到MySpace上面應用了一些部分,除了這些部分之外AJAX應用對咱們網站帶來了哪些實際應用?用戶體驗方面呢?
凌聰:
  用戶會感覺到都在一個頁面上完成他的工作,對他的感受會好很多。比如說我上傳一個文件,那個文件很大,可能一個圖片最大是5兆,如果1兆帶寬可用就是100K左右,要傳50秒,死等的話會有一個問題,我們有一個圈不斷滾,這樣給大家一個直觀的感受,不斷告訴他上傳了多少。另外我們的加好友之類的都是用AJAX去做的,這就是提高用戶的功能性還是比較直觀的。
主持人:
  ASP.net框架前面已經聊了很多了,您希望這個框架再有哪些方面的改進嗎?
凌聰:
  第一,現在ASP.net第一次打開速度還是很慢的,這個有待提高。第二,可以讓它先出來,高亮的后面加都沒問題,現在在2008上打開一個頁面做開發還是挺慢的。另外ASP.net原來Sever control的設計想法很好,實現起來很一般,我覺得這個框架可能考慮用其他東西替代,比如ASP.net MVC這個框架還是不錯的。我們現在的框架是MOTOOLS的,最好能對這塊有支持。
主持人:
  最后請凌聰先生給我們介紹一下MySpace網站技術架構升級方面有哪些計劃?
凌聰:
  第一,我們網站可能會引入云計算。云計算主要是做用戶數據的分析,其實用戶數據分析是一個金礦,但是這個金礦必須有好的工具去挖,用比較好的機制篩選出來。因為我們網站每天訪問數據量挺大的,幾個T的數據,怎么統計呢?可能是要有一個分布式計算的平臺。MySpace自己有一個分布計算的平臺,我們正在看這個框架和另外一個do框架對分布式計算的程序寫代碼的難度以及可靠性。另外,做完云計算平臺之后我們可以把日志放進去做一數據倉庫然后做用戶分析,然后我們可以找出好友的親密度,這樣有利于我們做好友推薦。
  做完這個東西之后我們利用這些東西做Feed的分析,Feed對我來說很我可能是沒有用的。我們希望找到一個更智能的方法讓他找到他更想起要東西。比如可以通過他的點擊,比如博客或者玩音樂推他相關的東西,這樣可能更適合。數據分析包括用戶的缺省,包括用戶性等,所以用戶數據也是非常重要的事兒。
  另外要發力用戶客戶端,現在手機用戶也很多,我們現在有一個聲色微博可以說一句話發到語聊上面去,但是有的人是話癆,他喜歡說很長,而移動限制了300k,有些手機只支持50K,用戶覺得很不爽,300k還可以說三分鐘,50k只能說1分鐘,他就開始抱怨覺得這個怎么傳這么少,這也沒有辦法,是彩信的限制,這也是我們為什么要做客戶端很重要的原因。
主持人:
  為了讓網友們有更好的體驗,我們的技術人員盡心盡力在做開發了。非常感謝凌聰先生與我們探討了這么多網站開發方面的經驗和技術,謝謝大家!

熱詞搜索:

上一篇:基于工作流的網絡運維流程管理平臺的建設和應用
下一篇:深度訪談:IT運維變革這幾年

分享到: 收藏
主站蜘蛛池模板: 赣州市| 八宿县| 儋州市| 鄄城县| 龙海市| 崇礼县| 定结县| 崇信县| 龙门县| 旺苍县| 福海县| 寿阳县| 南皮县| 平山县| 乌鲁木齐市| 门源| 七台河市| 靖远县| 鲁甸县| 岱山县| 通渭县| 阜康市| 连云港市| 嘉义市| 肃宁县| 宜丰县| 攀枝花市| 华安县| 大同县| 土默特右旗| 彰化县| 巴中市| 德令哈市| 长治市| 浦北县| 寿宁县| 孟连| 贵定县| 嘉荫县| 九龙城区| 汝阳县|