今天读了几篇分布式相关的内容,记录一下。非经典论文,非系统化阅读,非严谨思考和总结。主要的着眼点在于分布式存储:好处是,跨越单台物理机器的计算和存储能力的限制,防止单点故障(single point of failure);常见方法是,做数据分区(data partition / sharding)以横向扩展,做数据复制(data replication)增加冗余度;难点是,如何在数据一致性(consistency)、系统可用性(availability)、分区容忍度(partition tolerance)之间折衷以得到平衡。

三个链接:

1. 《酷壳 - 分布式系统的事务处理》

2. Google app engine 的 Ryan Barrett 在 2009 Google I/O 上的演讲《Transaction Across DataCenter》,上述酷壳文章的基本框架也来自这篇演讲。总结部分提到:没有银弹;提供允许折衷(tradeoff friendly)的基础设施,并将选择权交给用户。「提供选择权」的设计,可参考上述酷壳文章里,提到的 Amazon Dynamo NWR model (W+R > N) 和 vector clock 设计,进一步可阅读 Amazon Dynamo 团队的原始论文,博客里一句话很值得回味。

Dynamo is representative of a lot of the work that we are doing at Amazon; we continuously develop cutting edge technologies using recent research, and in many cases do the research ourselves. Much of the engineering work at Amazon, whether it is in infrastructure, distributed systems, workflow, rendering, search, digital, similarities, supply chain, shipping or any of the other systems, is equally highly advanced.

3. 《A plain english introduction to CAP Theorem》。非常棒的一篇文章,从两口子决定开办一家 Remembrance Inc. 做为切入点,先后介绍了什么是 consistency(两口子的记录簿需要在 data write 时同步)、availability(老婆有事无法接线时,老公得负责全部的接线工作,而且第二天老婆重新上班后,能够从老公那儿同步前一天未同步的数据,即保持数据上的 consistency)、partition tolerance(老婆今儿很生气,所以故意不跟老公同步数据,即,partition 之间的通信出了故障)。

Note on Preliminary Introduction to Distributed System的更多相关文章

  1. 「2014-2-23」Note on Preliminary Introduction to Distributed System

    今天读了几篇分布式相关的内容,记录一下.非经典论文,非系统化阅读,非严谨思考和总结.主要的着眼点在于分布式存储:好处是,跨越单台物理机器的计算和存储能力的限制,防止单点故障(single point ...

  2. 分布式系统(Distributed System)资料

    这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但 ...

  3. Note: Time clocks and the ordering of events in a distributed system

    http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf 分布式系统的时钟同步是一个非常困难的问题,this ...

  4. 译《Time, Clocks, and the Ordering of Events in a Distributed System》

    Motivation <Time, Clocks, and the Ordering of Events in a Distributed System>大概是在分布式领域被引用的最多的一 ...

  5. Aysnc-callback with future in distributed system

    Aysnc-callback with future in distributed system

  6. Notes on Distributed System -- Distributed Hash Table Based On Chord

    task: 基于Chord实现一个Hash Table 我负责写Node,队友写SuperNode和Client.总体参考paper[Stoica et al., 2001]上的伪代码 FindSuc ...

  7. 分布式学习材料Distributed System Prerequisite List

    接下的内容按几个大类来列:1. 文件系统a. GFS – The Google File Systemb. HDFS1) The Hadoop Distributed File System2) Th ...

  8. Note: OBLIVIATE: A Data Oblivious File System for Intel SGX

    OBLIVIATE redesigned ORAM for SGX filesystem operations for confuse access patterns to protect user ...

  9. COS418, Distributed System, Go Language

    本博客是MIT的分布式系统课程的课后作业Cos418的GO语言实现思路.由于时间有限,目前只实现了assignment1~2. 在common.go中设置debugEnabled = true,go ...

随机推荐

  1. 云笔记项目-Spring事务学习-传播REQUIRES_NEW

    接下来测试事务传播的REQUIRES_NEW. Service层 Service层代码在这里不展示了,主要将EMPService1Impl类中的方法事务传播属性设置为REQUIRED,EMPServi ...

  2. file常用功能

    构造方法 File(String pathname):将指定的路径名转换成一个File对象 File f = new File("D:\\a\\b.txt"); File(Stri ...

  3. mysql常用的统计类sql ,以及批量循环插入数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  4. Windows内核开发之串口过滤

    学习了几个月的内核编程,现在对Windows驱动开发又了更加深入的认识,特别是对IRP的分层处理逻辑有了深入认识. 总结起来就几句话: 当irp下来的时候,你要根据实际情况,进行处理 1> 无处 ...

  5. python之函数递归

    函数递归调用 在函数内部,可以调用其它函数,如果一个函数在内部调用自身,即是递归调用 为防止无限递归类似于死循环,需要如下: 1.必须要有一个明确的返回值: 2.每次进入更深一层递归时,问题规模应该比 ...

  6. Angularjs 动态创建属性

    循环输出 for (var i = 1; i < 7; i++) { var res='res'+i; $scope[res]=i; }

  7. 2018-2019-2 20175218 实验一《Java开发环境的熟悉》实验报告

    实验内容.步骤与体会: 1.实验过程的理解,实验指导书中知识点的理解. (1)知道了JVM.JRE.JDK之间的区别. JVM就是我们熟知的Java虚拟机:JRE是Java运行环境:而JDK则是Jav ...

  8. Docker端口映射

    Docker端口映射是指将容器内应用的服务端口映射到本机宿主机器.当要在宿主机外部访问Docker内部应用时,需要对容器内应用端口进行映射. 一.容器启动时指定端口映射 容器运行时可以通过-p 或 - ...

  9. 浅谈spring为什么推荐使用构造器注入

    转载自: https://www.cnblogs.com/joemsu/p/7688307.html 一.前言 ​ Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversi ...

  10. System program tools

    program 描述     RSBDCOS0 执行 OS 命令 (已登录在 SYSLOG 和跟踪文件中)