1. Lamport's Logical Clocks 和 Vector Clock

    编:关于Vector Clock之前看过几眼,但是多数讲解地都不是很清楚,一直没太弄清楚。直到有一天,又看了看,终于弄明白了。

    2018/10/24 distributed-programming

  2. 分布式系统中的 safety 和 liveness

    在分布式系统的算法和设计中,safety和liveness是2个非常重要的属性,这个概念最早由L. Lamport1提出。这2个属性是非常基础的属性,系统中的其他属性都可以被分解为safety和liveness。 Proving the Correctness ...

    2018/10/23 distributed-programming

  3. LSM-TREE 存储结构的空间放大

    log structured merge tree1已经是现代数据库常用的一种数据结构,其优点就是能够将全部操作都转化为写入,从而使磁盘的连续写入优势发挥最大等。但是会带来写放大和空间放大。但是读放大、写放大和空间放大是一对矛盾体2 3 4。因此,由于有着不同的取舍,就有了不同的compact...

    2018/10/22 database

  4. 分布式系统中的故障模型

    在分布式系统的设计中,一个很重要的属性就是容错。要容错那一定要先知道在分布式系统中通常存在哪些错误模型,以及他们之间的关系1。 FAILURE MODES IN DISTRIBUTED SYSTEMS ↩

    2018/10/20 distributed-programming

  5. 分布式系统中的通讯模型

    人们在谈及分布式系统的理论时,首先要明确其前置的通讯模型(有的地方也称为时间模型)的约定。比较常见的有同步网络模型、异步网络模型和部分同步网络模型1。 WHAT_WE_TALK_ABOUT_WHEN_WE_TALK_ABOUT_DISTRIBUTED_SYSTE...

    2018/10/19 distributed-programming

  6. 【转】CAP理论十二年回顾:"规则"变了

    本文转自CAP理论十二年回顾:”规则”变了,用以存档。原文链接:CAP Twelve Years Later: How the “Rules” Have Changed

    2018/10/08 distributed-programming

  7. C++11中的name lookup

    identifier C++编译器将文件代码源文件解析后,将代码分解为identifier1、数值、运算符等,其中identifier是由非数字开头、任意字符数字和下划线组成的部分,其用来组成声明、表达式、name和qualified identifier。 I...

    2018/09/29 c++

  8. C++中的Digraphs、Trigraphs和Tokens

    偶然在C++ Quiz上看到一道题: ```c++ // 以下代码的输出是什么? #include

    2018/09/29 c++