利用開源組件開發(fā)高性能(Scalability and High Performance)的網(wǎng)站

1.       方案:

a)         Load balancer +reverse proxy server + server cluster

圖一是整體的結(jié)構(gòu)圖;思路很清楚;這種的結(jié)構(gòu)的網(wǎng)站系統(tǒng)可以提高系統(tǒng)的響應(yīng)能力;

       圖一

b)細(xì)節(jié)問題:

       iweb server 是否可以是非同質(zhì)的server,比如有的負(fù)責(zé)mail,有的負(fù)責(zé)web頁面,

有的負(fù)責(zé)文件上傳;

             ii)用戶的session信息如何在不同的server之間同步;

              iii)如果使用數(shù)據(jù)庫集群的話,則有的dbserver只負(fù)責(zé)讀數(shù)據(jù),有的則讀寫都做;

                     如何實(shí)現(xiàn);Replaication mysql中的支持正在研究;

       c)加入reverse proxy server; 圖二顯示了如何在架構(gòu)中加入reverse proxy server

              這里選擇的proxy serversquid http://www.squid-cache.org),(至于為什么選它,

因?yàn)楹芏嗳硕加盟槐救朔钚心脕碇髁x);squid用來cache靜態(tài)的文件,jsimage

css等;squid可以和tomcatapache等集成;

圖二

d)誰來做load balancer呢,如果你使用linux操作系統(tǒng)的話,那么一定要試試Linux Virtual Serverwww.linuxvirtualserver.org/ http://zh.linuxvirtualserver.org/ , 我國的章文嵩博士主持的開源項(xiàng)目,TelTel的首席科學(xué)家;

IBM 的介紹資料:

http://www-128.ibm.com/developerworks/cn/linux/cluster/lvs/part1/index.html

http://www-128.ibm.com/developerworks/cn/linux/cluster/lvs/part2/index.html

http://www-128.ibm.com/developerworks/cn/linux/cluster/lvs/part3/index.html

http://www-128.ibm.com/developerworks/cn/linux/cluster/lvs/part4/index.html

圖三