一. 维基百科的高性能架构设计分析
www.wikipedia.org,这个在2001年创建,使用Perl CGL脚本编写的只有一台服务器的网站,到2012年已经成为流量排名全球第6的大型网站。和www.wikipedia.org的流量在相同级别的其他大型网站,如www.baidu.com、www.yahoo.com,其背后都是市值百亿美金、员工上万的巨无霸企业,并仅由数十余名技术人员维护,不得说是一个奇迹。wikipedia对资源的利用,对性能的优化很具有典型性,有许多值得学习的地方。
二. Wikipedia网站整体架构
目前wikipedia网站建立在LAMP(Linux+Apache+MySQL+PHP)之上,其他基础技术组建也全部采用免费的开源软件。因为wikipedia是非盈利的,所以尽可能使用免费的软件和廉价的服务器,这种技术倾向使得技术团队不得不量体裁衣、看米下锅,榨尽系统所有资源的利用价值,用最少的资源成就最不可肆意的奇迹,最终也让技术团队获得了真正的成长。
图: wikipedia架构图
wikipedia架构的主要组成部分如下。
1. GeoDNS:基于开源域名服务器软件BIND( Berkeley Internet Name Domain) 的增强版本,可将域名解析到离用户最近的服务器。
2. LVS:基于Linux的开源负载均衡服务器。
3. Squid:基于Linux的开源反向代理服务器。
4. Lighttpd:开源的应用服务器,较主流的Apache服务器更轻量、更快速。实践中,有许多网站使用Lighttpd作为图片服务器。
5. PHP