维基百科某一版的架构如下图
维基百科某版架构
图中可以看到,Application Servers上运行着主要的程序,为了承载大量的读请求,使用了Distribution Object Cache,缓解读的压力。
即使有 Distribution Object Cache,也需要多台Server处理用户请求,因此,有LVS,负载均衡,负责把用户请求分发到各个服务器。
Squid caching layer:反向代理缓存服务器,为Server提供反向代理,对外只有一个入口,后面可以扩展很多服务器。也提供了部分数据的缓存。
由于Squid caching layer也不一定是单台,因此在其之前添加了LVS,分发到各个Squid caching layer处理。
由于用户访问维基百科是通过域名,需要DNS将域名解析成ip。
GeoDNS:Geomitry Domain Name Service地理域名服务,可以使用户找就近机房的DNS获取ip。
由于很多地方使用了缓存,因此需要有Invalidation notification(缓存失效通知),使用户及时访问到最新数据。
网友评论