您的位置:首页 > 编程语言 > Go语言

关于Google三篇论文读后感

2019-04-18 18:39 357 查看

关于Google三篇论文读后感

Google的这三篇论文分别介绍了Bigtable、MapReduce,GFS这三个工具。他们都有具有分布式系统,即将一个工作拆分并将其部署在不同的多个服务器上。 Bigtable包含三个角色分别是lip、master、tablet。Master服务器负责为Tablet服务器分配Tablet兼具负载均衡并检测新加入或者过期失效的Tablet服务器对保存在GFS上的文件进行垃圾收集,同时还可以在master上进行处理模式的修改。每个Tablet服务器都管理很多很多Tablet。每个Tablet服务器负责处理它所加载的Tablet的读写操作,以及在Tablets过大时,将其分割。无论何时一个tablet只能被分割给一个tablet服务器,而master则会进行追踪记录。
MapReduce是程序员们使用的一个编程模型,它能够处理和生成巨大数据集。通过它对系统的各个终端机器进行管理,程序员们可以最大程度地利用计算机资源。MapReduce可以对很多复杂的问题进行简单的解决,这对处理一些现实问题非常有帮助,如空气污染指数、城市外来人口统计等。而它是如何做到的呢?这也要归功于分布式原理。对于一个复杂的问题,并不是直接丢给一台高性能的电脑去做而是分配给许多台低性能的电脑,不仅提高了效率也提高了容错率。因为worker们都是低性能的电脑,所以随时都有罢工的风险。为了防止他们罢工会设定一个程序让全体woker定时像master发送信号,告诉master它还在运转。如果master接收不到信号了,它就会把原先分给那个woker的工作分给其它woker如果master瘫痪了,全体woker也会重新选举产生一个新的master。
GFS(Google File System) 是一个具有伸缩性的可分布式系统,可以负担得起很繁重的工作。 这个东西里面 包括三类角色client、master、chunk server。 GFS与传统文件系统明显的差异是它不需要很强大的硬件支撑就可以进行大规模的数据处理。 即使由破烂的电脑组成 它也能够迅速侦测甚至恢复失效的组件 从而不影响工作的进程。 Master里面有所有的数据,但client和master之间不存在数据流,他们之间只有控制流这样master就不需要负担那么重了。文件被分成了多个chunk这样client可以同时访问很多个chunk这样运行起来也会快一点,同时GFS为了防止文件丢失,它对每个文件都自动进行了备份,每份文件在系统中保存3个以上的备份。与此同时,数据一致性也被做了周到的考虑,所有的修改需要在所有的备份上进行。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: