<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.

    作者:nightsailer
    來源:http://www.phpchina.com/bbs/thread-15484-1-1.html

    • 數據庫
       
    沒錯,首先是數據庫,這是大多數應用所面臨的首個SPOF。尤其是Web2.0的應用,數據庫的響應是首先要解決的。
    一般來說MySQL是最常用的,可能最初是一個mysql主機,當數據增加到100萬以上,
    那么,MySQL的效能急劇下降。常用的優化措施是M-S(主-從)方式進行同步復制,將查詢和操作和分別在不同的
    服務器上進行操作。我推薦的是M-M-Slaves方式,2個主Mysql,多個Slaves,需要注意的是,雖然有2個Master,
    但是同時只有1個是Active,我們可以在一定時候切換。之所以用2個M,是保證M不會又成為系統的SPOF。
    Slaves可以進一步負載均衡,可以結合LVS,從而將select操作適當的平衡到不同的slaves上。

    以上架構可以抗衡到一定量的負載,但是隨著用戶進一步增加,你的用戶表數據超過1千萬,這時那個M變成了
    SPOF。你不能任意擴充Slaves,否則復制同步的開銷將直線上升,怎么辦?我的方法是表分區,
    從業務層面上進行分區。最簡單的,以用戶數據為例。根據一定的切分方式,比如id,切分到不同的數據庫集群去。
    全局數據庫用于meta數據的查詢。缺點是每次查詢,會增加一次,比如你要查一個用戶nightsailer,你首先要到
    全局數據庫群找到nightsailer對應的cluster id,然后再到指定的cluster找到nightsailer的實際數據。
    每個cluster可以用m-m方式,或者m-m-slaves方式。
    這是一個可以擴展的結構,隨著負載的增加,你可以簡單的增加新的mysql cluster進去。

    需要注意的是:
    1、禁用全部auto_increment的字段
    2、id需要采用通用的算法集中分配
    3、要具有比較好的方法來監控mysql主機的負載和服務的運行狀態。如果你有30臺以上的mysql數據庫在跑就明白我的意思了。
    4、不要使用持久性鏈接(不要用pconnect),相反,使用sqlrelay這種第三方的數據庫鏈接池,或者干脆自己做,因為php4中mysql的
    鏈接池經常出問題。
    • 緩存
       
    緩存是另一個大問題,我一般用memcached來做緩存集群,一般來說部署10臺左右就差不多(10g內存池)。需要注意一點,千萬不能用使用
    swap,最好關閉linux的swap。
    • 負載均衡/加速
       
    可能上面說緩存的時候,有人第一想的是頁面靜態化,所謂的靜態html,我認為這是常識,不屬于要點了。頁面的靜態化隨之帶來的是靜態服務的
    負載均衡和加速。我認為Lighttped+Squid是最好的方式了。
    LVS <------->lighttped====>squid(s) ====lighttpd

    上面是我經常用的。注意,我沒有用apache,除非特定的需求,否則我不部署apache,因為我一般用php-fastcgi配合lighttpd,
    性能比apache+mod_php要強很多。

    squid的使用可以解決文件的同步等等問題,但是需要注意,你要很好的監控緩存的命中率,盡可能的提高的90%以上。
    squid和lighttped也有很多的話題要討論,這里不贅述。
    • 存儲
       
    存儲也是一個大問題,一種是小文件的存儲,比如圖片這類。另一種是大文件的存儲,比如搜索引擎的索引,一般單文件都超過2g以上。
    小文件的存儲最簡單的方法是結合lighttpd來進行分布。或者干脆使用Redhat的GFS,優點是應用透明,缺點是費用較高。我是指
    你購買盤陣的問題。我的項目中,存儲量是2-10Tb,我采用了分布式存儲。這里要解決文件的復制和冗余。
    這樣每個文件有不同的冗余,這方面可以參考google的gfs的論文。
    大文件的存儲,可以參考nutch的方案,現在已經獨立為hadoop子項目。(你可以google it)

    其他:
    此外,passport等也是考慮的,不過都屬于比較簡單的了。

    jwebee

    我的個人網站
    posted on 2007-10-16 11:04 周行 閱讀(252) 評論(0)  編輯  收藏 所屬分類: IT技術
    Java-Android-jwebee
    主站蜘蛛池模板: 亚洲欧洲国产精品久久| 亚洲午夜免费视频| 亚洲成a人片在线观看天堂无码| 免费视频精品一区二区三区| 国产AⅤ无码专区亚洲AV| 一级特黄a免费大片| 亚洲日韩中文在线精品第一| 国产精品美女久久久免费| 国产亚洲?V无码?V男人的天堂| 中文在线观看永久免费| 亚洲精品国产精品乱码不99 | 亚洲成人一区二区| 黄色一级视频免费| 亚洲综合激情另类专区| 亚欧洲精品在线视频免费观看| 国产午夜亚洲精品国产成人小说| 中国一级毛片视频免费看| 精品亚洲综合久久中文字幕| 久久久久国产免费| 亚洲成aⅴ人片在线影院八| 成人奭片免费观看| 日韩色日韩视频亚洲网站| 亚洲性久久久影院| 久久精品国产免费| 亚洲五月综合网色九月色| 免费日韩在线视频| a级日本高清免费看| 亚洲国产精品张柏芝在线观看| 成年女人毛片免费播放视频m| 老司机午夜在线视频免费观| 亚洲精品乱码久久久久久按摩 | 1000部拍拍拍18勿入免费凤凰福利| 亚洲人xxx日本人18| 亚洲AV伊人久久青青草原| 日本一区午夜艳熟免费| 亚洲香蕉久久一区二区| 国产亚洲午夜高清国产拍精品 | 日韩免费毛片视频| 国产午夜精品久久久久免费视| 久久久久se色偷偷亚洲精品av| 亚洲精品视频免费|