Google的设计初衷翻译自文章“Web search for a planet: The Google cluster architecture”,该文章介绍了Google集群的框架。
软件可靠性在设计过程中,我们主要从软件角度而非硬件的角度来考虑系统的容错性。我们避开了常用的硬件容错手段,如充足的电力供应,充足的磁盘容量,高性能的硬件等。
副本使用副本来增加服务请求的吞吐量和可用性。考虑到机器随时会出现故障,我们将内部的服务备份在多台机器上。由于为了获取足够的吞吐量我们已经将服务存储在多台机器上,所以采用副本方式进行容错是免费的。
性价比vs性能相比于性能最好的CPU,我们会购买单位价格性能更好的CPU。同时,我们使用商用计算机以减少计算的价格,这样节省的开销,就可以为每次查询购买更多的计算资源,设计更好的技术用于排序,或者为一个更大的文件建立索引。