电脑技术汇总_电脑技术网_电脑技术官网

电脑知识网 > 电脑知识 > 系统知识 > 正文

Google工程师分享了他们在缩放系统方面的一些知识

网络整理 2020-08-09 10:02

巴尔的摩-根据搜索巨头的成功经验,Google工程师分享了他们在缩放系统方面的一些知识。在这里的Surge 2011大会上,三名Google工程师提出了Google成功扩展其每天支持数亿查询的系统的一些原因。和谁更好地学习?如果您想和女士们保持冷静,那么您就想拥有像Jagger这样的举动-至少是古老的Jagger。如果您想学习扩展,则需要从Google上一堂课。

Google工程师分享了他们在缩放系统方面的一些知识

在Surge的一次会议上,听众就明白了。Google的网站可靠性工程师Maxwell Luebbe讨论了在Google上运行前端Web服务的过程。Luebbe说Google是一个面向服务的系统,因此您可以将Google的各个部分分开。他说,它们被细分为可管理的组件,用于细粒度的扩展和容量管理。

而且,谷歌试图将机器和数据放置在用户所在的位置,而如今用户正处在无处不在,“因此容量规划至关重要”,卢布贝说。他补充说:“服务可用性比服务器可用性更重要。因此,您需要能够进行计划,就好像有人要在数据中心内用锤子砸东西一样。”这意味着企业需要能够快速重新路由流量数据中心内部和外部。

同时,谷歌软件工程师贾国谈到了她参与爬网引擎的设计和优化的工作,爬网引擎是Google规模最大的数据处理系统。她的兴趣包括并行编程,大规模基础结构以及检测Web中重复内容的策略。郭说,建立和运行一个能够处理网络上数十亿个文档的大型系统带来了许多有趣的挑战。

郭说,谷歌文件系统(GFS)也称为Colossus,它是一个集群软件环境,可在数千台计算机上运行以管理数千个活动作业,其中一些功能执行一项任务,而其他功能执行数千项任务。最重要的是,正在处理大量数据。

这就是MapReduce出现的地方。MapReduce是Google在2004年引入的一种软件框架,用于支持对计算机集群中的大型数据集进行分布式计算。

郭说:“ MapReduce是一个简单的编程模型,适用于许多大规模计算问题。” 她说,它可以帮助开发人员处理与并行编程相关的“很多杂乱的事情”。

此外,郭说,希望进行扩展的企业应该通过执行诸如发送“ canary”请求到测试环境之类的事情来设计可扩展性,并避免造成数千台计算机崩溃。她说,要考虑的另一种策略是在每台机器上实现多个较小的单元,以便在发生故障时能够更快地恢复。

郭说,企业组织还需要通过尝试预测系统需求随时间变化的方式来设计增长。她说,但是,企业不应该设计成无限扩展。她说,将初始系统的规模从10倍扩展到50倍是可以接受的,但是尝试将其扩展100倍通常需要重新设计。

在Guo进行的题为“巩固云:如何备份互联网”的演讲中,Google网站可靠性工程师Raymond Blum说,确保用户数据的持久性和完整性是第一要务。Blum还提供了一些经典的经验教训,包括:冗余不会带来可恢复性,备份过程必须根据数据值进行扩展,并且如果您还没有还原,就不会进行备份。

确实,冗余不是备份,Blum说。他说,数据位置冗余的主要目的是支持可扩展的处理。它不保证完整性或可恢复性。并且本地副本不能防止站点中断。

布鲁姆说:“存储技术的多样性进一步防止了错误导致数据丢失。” Blum随后讨论了自2011年2月以来的案例研究,该案例中,断电对某些Gmail客户造成了数据丢失,而Google能够通过该公司进行的磁带备份在两天内恢复数据。他说,MapReduce在恢复中也发挥了作用。

布鲁姆补充说,备份是一种已知的稳定操作,而恢复“通常是一个意外的情况,并且是不可屏蔽的中断”。

布拉姆还说,计划扩展其运营的组织需要计划并行扩展所有内容,包括其软件,基础架构,硬件和流程。

他说:“从一开始就将您的系统设计为并行的。”

Tags:Google工程师(1)

转载请标注:电脑技术网——Google工程师分享了他们在缩放系统方面的一些知识

搜索
网站分类
标签列表