diff --git "a/readers/ZooKeeper/01-\344\273\213\347\273\215.md" "b/readers/ZooKeeper/01-\344\273\213\347\273\215.md" index 7622332..e170b85 100644 --- "a/readers/ZooKeeper/01-\344\273\213\347\273\215.md" +++ "b/readers/ZooKeeper/01-\344\273\213\347\273\215.md" @@ -1,9 +1,9 @@ -####目的 +#### 目的 ZooKeeper的主要目的是为了减轻构建健壮的分布式系统的负担。 使应用的设计者不需要把时间花费在构建分布式系统上,而更加着力于本身的业务逻辑。 -####ZooKeepr的特性 +#### ZooKeeper的特性 ZooKeeper使在分布式系统上运行可协调任务成为可能。 @@ -18,7 +18,7 @@ ZooKeeper提供: 3. 通过简单的方式处理并发方面的问题,而这些问题经常导致分布式系统中的不一致行为。 -####分布式进程的沟通方式 +#### 分布式进程的沟通方式 在分布式系统中的通常有两种通信方式: 1. 通过网络直接交换消息 @@ -33,14 +33,14 @@ ZooKeeper用的是共享存储的方式。 3. 时钟偏差 -####Master-Worker架构 +#### Master-Worker架构 Master-Worker是典型的一种分布式系统的架构,它需要解决三个关键问题: 1. Master Crash 2. Worker Crash 3. Master-Worker通信失败 -#####Master Crash +##### Master Crash 关键一:需要关注主Master crash后,备用master启动后。 如何恢复到主Master crash时候的状态,由于主已经挂了,因此备用master不可能从主中恢复状态,而需要借助其它方式。 @@ -50,12 +50,12 @@ Master-Worker是典型的一种分布式系统的架构,它需要解决三个 比如某些情况下,由于主load很高,导致通信延迟严重,可能勿认为主挂了,从而启动另个主,这样会产生脑裂的情况,从而导致不一致。 -#####Worker Crash +##### Worker Crash Master需要能检测出worker挂了,将任务重新分配。 有时候还需要清理worker挂后产生的一些副作用,比如数据清理等。 -####拜占庭问题 +#### 拜占庭问题 [Wiki中的介绍](http://zh.wikipedia.org/wiki/%E6%8B%9C%E5%8D%A0%E5%BA%AD%E5%B0%86%E5%86%9B%E9%97%AE%E9%A2%98) 假设计算机总数为N,有问题的计算机数为F