维基百科的网站架构

  1. 使用GeoDNS再配合Bind,可以使不同地方的用户访问时可以到达离用户最近的那台服务器,提高响应速度,也就是可以让DNS解析的时候考虑地域因素,让用户能够访问离他地域最近的Web服务器
  2. Squid前面架设了LVS,可能是有一个Squid集群吧,LVS用来做Squid的负载均衡(不知道对不对,只是猜测而已)
  3. 如果用户请求的数据是图片,则Squid将请求交给Lighttpd进行处理,Lighttpd处理静态数据性能更高。Squid中的其它数据通过NFS方式进行存储,NFS由Sun公司开发;如果Squid的缓存命中,则直接将数据返回给用户,如果缓存没有命中,则通知Squid,然后Squid将请求提交给Squid后面LVS,同理这里的LVS也是用来做负载均衡的,只不过此时的LVS是用于Web Server的负载均衡,Web Server是Apache
  4. 到了Web Server这一层面以后,PHP程序可以访问缓存Memcached里面的数据,同时PHP程序也可以访问MySQL里面的数据,另外可以通过HTCP协议访问Lucene里面的数据,Lucene主要用来做搜索,是用Java语言开发的
  5. 维基百科使用的系统是自己开发的MediaWiki,采用PHP语言开发

你可能感兴趣的:(维基百科的网站架构)