利用開源組件開發(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é)問題:
i)web 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 server是squid (http://www.squid-cache.org),(至于為什么選它,
因?yàn)楹芏嗳硕加盟槐救朔钚心脕碇髁x);squid用來cache靜態(tài)的文件,js,image,
css等;squid可以和tomcat,apache等集成;

圖二
d)誰來做load balancer呢,如果你使用linux操作系統(tǒng)的話,那么一定要試試Linux Virtual Server(www.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

圖三