本文主要是介绍维基百科的网站架构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 使用GeoDNS再配合Bind,可以使不同地方的用户访问时可以到达离用户最近的那台服务器,提高响应速度,也就是可以让DNS解析的时候考虑地域因素,让用户能够访问离他地域最近的Web服务器
- 在Squid前面架设了LVS,可能是有一个Squid集群吧,LVS用来做Squid的负载均衡(不知道对不对,只是猜测而已)
- 如果用户请求的数据是图片,则Squid将请求交给Lighttpd进行处理,Lighttpd处理静态数据性能更高。Squid中的其它数据通过NFS方式进行存储,NFS由Sun公司开发;如果Squid的缓存命中,则直接将数据返回给用户,如果缓存没有命中,则通知Squid,然后Squid将请求提交给Squid后面LVS,同理这里的LVS也是用来做负载均衡的,只不过此时的LVS是用于Web Server的负载均衡,Web Server是Apache
- 到了Web Server这一层面以后,PHP程序可以访问缓存Memcached里面的数据,同时PHP程序也可以访问MySQL里面的数据,另外可以通过HTCP协议访问Lucene里面的数据,Lucene主要用来做搜索,是用Java语言开发的
- 维基百科使用的系统是自己开发的MediaWiki,采用PHP语言开发
这篇关于维基百科的网站架构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!