zoukankan      html  css  js  c++  java
  • 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能保证数据的强一致性,用户任何时候都可以相信集群中每个节点的数据都是相同的。一个用户创建一个节点作为锁,另一个用户检测该节点,如果存在,代表别的用户已经锁住,如果不存在,则可以创建一个节点,代表拥有一个锁。

    • 集群管理

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

     

     

     

  • 相关阅读:
    springMVC入门
    【终极指南】图文详解Chrome插件离线安装方法
    IDM下载器使用方法详解:百度网盘下载,视频会员一网打尽!
    Mac下复制粘贴的快捷键是什么?随记
    华为手机维修点查询终于上线了
    如何将已经安装从chrome扩展程序导出备份为.CRX文件?
    Chrome浏览器 v68.0.3440.106 正式版怎么样?
    Postman插件如何安装
    分享一款非常好用的Fatkun图片批量下载工具
    上海苹果维修点分享苹果电脑MACBOOK故障维修常见案例
  • 原文地址:https://www.cnblogs.com/charlesblc/p/6206131.html
Copyright © 2011-2022 走看看