• 《从Paxos到Zookeeper 分布式一致性原理与实践》——第三~八章


    Zookeeper和Chubby的异同点

    相同点:

    • 两者的数据模型相同,都是树形的层级目录结构,类似传统文件系统
    • 两者的节点相同,都分为临时节点和持久型节点
    • Chubby的订阅和Zookeeper的观察标志类似
    • 写或更新数据操作都需要在主服务器上完成

    不同点:

    • Chubby强调系统的可靠性以及高可用性等,而不追求处理高吞吐量;Zookeeper能处理高吞吐量。
    • Chubby只有主节点能提供读数据的服务,Zookeeper中从节点也能提供读数据服务。
    • 一致性协议上Chubby使用PAXOS和Zookeeper使用ZAB
    • Chubby的主节点有租约,租约到期没问题继续续约,Zookeeper谁是主节点就一直是谁,除非人为改变或发生故障等,没有租约概念
     

    Chubby旗帜鲜明的表示自己是为分布式锁服务的,而Zookeeper则倾向于构造一个“Kernel”,而利用这个“Kernel”客户端可以自己实现众多更复杂的分布式协调机制。自然的,Chubby倾向于提供更精准明确的操作来免除使用者的负担,Zookeeper则需要提供更通用,更原子的原材料,留更多的空白和自由给Client。也正是因此,为了更适配到更广的场景范围,Zookeeper对性能的提出了更高的要求。

    chubby提供分布式锁服务,对一致性有更高的要求,为强一致。

    zookeeper提供分布式协调服务,为了适配更广的场景,对性能有更高的要求,牺牲了一定的一致性。


    chubby:线性一致性

    chubby的一致性是分布式系统中所能实现的最高的一致性,即每次操作时都可以看到其之前的所有操作按顺序完成

    ZooKeeper:写操作线性(Linearizable writes) + 客户端有序(FIFO client order)

    写操作线性:所有修改集群状态的操作按顺序完成

    客户端有序:对任意一个client来说,它所有的读写操作按顺序完成

     

    Chubby 没有开源,所以。。。

     HyperTable 一个 C++ 的 BigTable 实现

    Hypertable是一个开源、高性能、可伸缩的数据库,采用与Google的BigTable相似的模型。BigTable让用户可以通过一些主键来组织海量数据,并实现高效的查询。Hypertable和HBase分别是BigTable的两个开源实现:HBase主要使用Java语言开发,而Hypertable使用Boost C++,另外在一些细节的设计理念上也有所不同。

    应该是已经死掉了

     

    第5章 ZK 使用,见:《白话讲解paxos&raft算法原理及实战》

    第6章:典型应用场景

     我们必须寻求一种更为分布式化的解决方案

     

      

     

     

     

     

     

     

     

      

     

     

      

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

      

     

     

     

     

     

     

     

     

    第七章:ZooKeeper 技术内幕,源码解读

    第八章:ZooKeeper 运维,option 详解

     

     

  • 相关阅读:
    android Dialog 底部弹出
    L2-023. 图着色问题(暴力)
    L2-023. 图着色问题(暴力)
    L2-022. 重排链表
    L2-022. 重排链表
    L2-020. 功夫传人(dfs+vector 或者 邻接矩阵+dij+优先队列)
    L2-020. 功夫传人(dfs+vector 或者 邻接矩阵+dij+优先队列)
    愿天下有情人都是失散多年的兄妹(bfs)
    愿天下有情人都是失散多年的兄妹(bfs)
    循环赛日程表(分治)
  • 原文地址:https://www.cnblogs.com/cx2016/p/13289086.html
Copyright © 2020-2023  润新知