利用开源组件开发高性能(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
图三