Table of Contents

How Wikipedia Is Served to You

维基百科是如何为您提供服务的

据维基百科介绍,”维基百科是一个由维基媒体基金会支持的多语种、基于网络、自由内容的百科全书项目,以开放的可编辑内容模式为基础”。每月服务于数十亿的页面浏览量,维基百科是世界上流量最高的网站之一。让我解释一下,当你在访问维基百科阅读圣赫勒拿岛或骆驼时,会发生什么。

首先,这是我们基础设施的三个最重要的构件。

  • CDN(内容传输网络),这是我们的缓存层。
  • 应用层
  • 开放源码软件

当你请求一个页面时,我们的地理DNS和互联网路由的魔力会根据你的位置将这个请求发送到最近的维基媒体数据中心,同时利用TLS的魔法,ATS(Apache流量服务器)对你的连接进行加密。每个数据中心都有两个缓存层:内存中(Varnish)和磁盘上(ATS)。大多数请求在这里终止,因为最热的URL总是被缓存。如果缓存失误,请求将被转发到应用层,如果这是一个主数据中心,它可能很近,如果这是一个缓存点,则可能更远一些。

我们的应用层以MediaWiki为核心,由一些微服务和数据库支持。MediaWiki是一个由Apache、PHP、MySQL组成的开源应用,为维基百科开发。MediaWiki最初会在Memcached上寻找文章的渲染版本,如果没有找到,则会在MariaDB数据库集群上寻找,称为解析器缓存(Parser Cache)。

如果MediaWiki从Memcached和解析器缓存(Parser Cache)中获取失败,它将提取文章的Wikitext并渲染它。文章存储在两个数据库集群中:Wikitext集群(Wikitext存储在blob中)和元数据集群(元数据集群告诉MediaWiki文章位于Wikitext集群中的位置)。在一篇文章被呈现出来后,它会依次存储在上述所有的缓存中,当然,也会返回给你。

当请求的是媒体文件而不是页面时,事情就稍微简单了。在缓存层的缓存错过时,ATS会直接从OpenStack的可扩展对象存储系统Swift中获取文件。

正如你所看到的,MediaWiki被一个非常厚的缓存层所包围,原因很简单:渲染页面的成本很高。此外,当一个页面被编辑时,它需要从所有这些缓存中失效,然后再次填充。当非常有名的人去世时,我们的基础设施会出现一种叫做名人死亡高峰的现象(或者说迈克尔-杰克逊效应1)。在这个事件中,每个人都会链接到维基百科来阅读关于他们的信息,而编辑们则通过不断更新这个人的文章来飙升编辑率。最终,这可能会造成明显的负载,因为大量的阅读流量集中在一篇不断从缓存中失效的文章上。

最后一个构件是我们对开源软件的使用。我们基础设施中运行的所有东西都是开源的,包括内部开发的应用程序和工具。围绕维基媒体运动的社区不仅限于照顾各种项目的内容,其贡献还延伸到为其服务的软件和系统。开放源码使社区成员的贡献成为可能;它是维基百科不可或缺的一部分,也是我们技术选择背后的驱动力之一。维基百科在某种程度上遵守了康威定律(Conway’s law):一个促进自由知识获取的网站在自由软件上运行。

最受欢迎的网站之一只使用开源软件运行,而且没有工程师队伍,这听起来可能令人惊讶–但这就是维基百科;开放性是它存在的一部分。

我们如何构建本书的结构

SRE虽然涉及复杂的技术系统,但归根结底是一种文化实践。文化是人的产物,这启发我们根据你在组织中的SRE数量来组织本书的各个部分–你具体处理什么,你的一天是怎样的,取决于有多少个SRE工程师。我们将本书的文章分为 “SRE新手” 、0-1个SRE、1-10个SRE、10-100个SRE和 “SRE的未来 ”。

读者如果想找寻先从哪里开始的指导,可以直接跳到最适用于自己的部分;但是,你仍然会发现阅读那些目前并不适用于你日常的部分的文章的价值。

在0到1个SRE时,还没有人被指定为SRE,或者你已经找到了你的第一个SRE,这个角色看起来几乎是孤独的。

在1到10名SRE时,你正在组建一个团队,有知识共享和分工的能力。

在10到100个SRE时,你已经成为一个组织,你需要思考的不仅仅是你所从事的系统,还需要思考如何组织这么多SRE。

“SRE新手” 涵盖了基础性的话题(尽管并不详尽!),对于那些刚刚开始SRE之旅的人来说是很有帮助的,即使是最有经验的SRE,也是一种复习。 “SRE的未来” 包含了一些文章,这些文章探讨了SRE潜在的发展方向,或者是(目前)坐拥时代潮流。

没有必要按照任何特定的顺序阅读本书。你可以从头到尾读一遍。或者,如果你对某个特定的主题感到好奇,可以翻到索引,在那里你可以找到关于该主题的所有文章。把它作为参考指南,或者是灵感的来源–可以在需要的时候提供一个震撼。或者,也许可以建立一个阅读俱乐部,每周一次挑选一篇文章与同事讨论。这就是散文集的魅力所在。我们希望你和我们一样喜欢阅读它们。

结语

SRE系列的文章,有时间我就会翻译一些,希望大家能学到对自己有用的东西。谢谢

延伸阅读

1.康威定律