最便宜的高負載網站架構

1, LVS做前端四層軟件均衡負載
LVS是基於IP虛擬分發的規則, 不同於apache,squid這些7層基於http協議的反向代理軟件, 前者在性能上能得到更好的保證!
另外, 後者在處理http header信息時, 會顯得很被動.

開源, 高性能, 這不就是我們所需要的嗎?

另外, 針對大訪問量, 還可以使用DNS輪詢+LVS集羣.
當然, 比起硬件均衡負載, 單點故障的風險會更大.

2,squid 做前端靜態頁面緩存, 包括 css, javascript
squid 是業內公認的優秀代理服務器,其緩存能力更讓許多高負載網站青睞!(比如新浪,網易等)
使用他, 通過本機內存+ 磁盤的集羣存儲方案, 能夠起到很好的加速作用!

使用squid, 也是大部分網站的節約成本之道.

3, lighttpd 提供圖片, css, javascript 服務. 做到靜態與動態分離.
採用lighttpd, 而不使用apache, 是因爲它對靜態內容的響應速度高於apache一到三倍.
這對於高負載網站是夢寐以求的.

加上, 在其前端部署了squid, 真正做到了, 超高命中率, 超快響應速度.

3,apache 用來處理php, url重定向, url過濾, 防洪水攻擊等等.
apache是業內主流http服務器,比較看重它的穩定性, 擴展性.
使用它, 製作一些推廣頁面, 一些需要快速開發的頁面, 最好不過了.

最重要的是, 它可以使用mod_jk或mod_proxy對複雜業務請求的進行代理.
比如, 將用戶註冊, 代理給jboss, 用java開發.

需要提一下的是, apache的module開發.
一句話 - 非常實用.
你可以只用apache提供的類庫, 就能很方便的開發一個http的日誌處理模塊.

另外, 它也可以與squid 集成, 從而, 形成一條很完美的加速鏈.

4,JBOSS 用來處理含複雜的業務邏輯與充當JAVAEE容器的角色
JBOSS是red hat旗下的優秀中間件產品,在java開源領域小有名氣,並且完全支持j2ee規範的,功能非常強大
使用他,既能保證業務流程的規範性,又可以節省開支(免費的)

java的優勢, 就不多說了.


5,mysql數據庫
使用mysql數據庫,單機達到百萬級別的數據存儲,及快速響應,應該是沒問題的.
如果網站本身訪問增長很快, 可以考慮mysql 集羣.

從而獲得高伸縮性, 高訪問性能.

不管是通過 master+slaver的主從結構.還是根據業務進行分表.
mysql的集羣特性, 都是網站首選的.

6,memcache作爲分佈式緩存
基於中央存放的緩存載體, 一般都需要集羣.
基於c寫的memcache, 可以很自豪的頂起高性能緩存的帽子.
它幾乎可以緩存任何數據. 包括 html, java對象, 文件等等.

重要的是, 它給jboss, apache等服務器實現高效的緩存方案, 提供了有力的保證.



LVS

======================================
.....
apache mod_jk / mod_proxy+ jboss
apache mod_jk / mod_proxy+ jboss
.....
squid + lighttpd
squid + lighttpd
....
=================================
....
mysql + memcache
mysql + memcache
......
================================

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章