• Zookeeper学习 & Paxos


    首先,Zookeeper是基于Paxos来进行分布式选举管理的,Paxos的内容可以参考我另一篇文章:http://www.cnblogs.com/charlesblc/p/6037004.html

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。

    它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

    Zookeeper因为平时用的不多,主要也就是安装的其他系统中会带上。对Zookeeper有一个概念上的了解,就好。暂时不用深入实践了。

    准备参考这个系列的文章进行学习:http://www.cnblogs.com/leocook/p/zk_0.html

    Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、名字服务、分布式同步、组服务等。

    Zookeeper的核心是一个精简的文件系统,它支持一些简单的操作和一些抽象操作,例如,排序和通知。

    Zookeeper的原语操作是很丰富的,可实现一些协调数据结构和协议。例如,分布式队列、分布式锁和一组同级别节点中的“领导者选举”。

    其他的,没学到什么。。

    然后还有这篇文章:http://m635674608.iteye.com/blog/2183625

    Zookeeper 特点

    • 顺序一致性:按照客户端发送请求的顺序更新数据。
    • 原子性:更新要么成功,要么失败,不会出现部分更新。
    • 单一性 :无论客户端连接哪个server,都会看到同一个视图。
    • 可靠性:一旦数据更新成功,将一直保持,直到新的更新。
    • 及时性:客户端会在一个确定的时间内得到最新的数据。

    Zookeeper运用场景

    • 数据发布与订阅 (我的业务用到这个特性,后面会有详细介绍)

    应用配置集中到节点上,应用启动时主动获取,并在节点上注册一个watcher,每次配置更新都会通知到应用。

    • 名空间服务

    分布式命名服务,创建一个节点后,节点的路径就是全局唯一的,可以作为全局名称使用。

    • 分布式通知/协调

    不同的系统都监听同一个节点,一旦有了更新,另一个系统能够收到通知。

    • 分布式锁

    Zookeeper能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。一个用户创建一个节点作为锁,另一个用户检测该节点,如果存在,代表别的用户已经锁住,如果不存在,则可以创建一个节点,代表拥有一个锁。

    • 集群管理

    每个加入集群的机器都创建一个节点,写入自己的状态。监控父节点的用户会受到通知,进行相应的处理。离开时删除节点,监控父节点的用户同样会收到通知。

     

     

     

  • 相关阅读:
    Capture CIS:Capture was not found错误
    Memcached FAQ
    MTK META工具的使用和注意事项(MT6252)
    关于maps.google.com和ditu.google.cn地图偏差的说明
    VSS2005的二次开发
    同学PB经历的面试题
    给定一个字符串,包含中文字符和英文字符,取给定大小字节的子串。
    一些笔试题目和整理的答案 腾讯(Tencent)
    redhat面试题目
    Ubuntu远程链接Ubuntu之ssh
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6206131.html
Copyright © 2020-2023  润新知