利用開源組件開發高性能(Scalability and High Performance)的網站
1. 方案:
a) Load balancer +reverse proxy server + server cluster;
圖一是整體的結構圖;思路很清楚;這種的結構的網站系統可以提高系統的響應能力;
圖一
b)細節問題:
i)web server 是否可以是非同質的server,比如有的負責mail,有的負責web頁面,
有的負責文件上傳;
ii)用戶的session信息如何在不同的server之間同步;
iii)如果使用數據庫集群的話,則有的dbserver只負責讀數據,有的則讀寫都做;
如何實現;Replaication 在mysql中的支持正在研究;
c)加入reverse proxy server; 圖二顯示了如何在架構中加入reverse proxy server;
這里選擇的proxy server是squid (http://www.squid-cache.org),(至于為什么選它,
因為很多人都用它;本人奉行拿來主義);squid用來cache靜態的文件,js,image,
css等;squid可以和tomcat,apache等集成;

圖二
d)誰來做load balancer呢,如果你使用linux操作系統的話,那么一定要試試Linux Virtual Server(www.linuxvirtualserver.org/ http://zh.linuxvirtualserver.org/ ), 我國的章文嵩博士主持的開源項目,TelTel的首席科學家;
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

圖三