Netflix Curator 使用(Zookeeper 简化客户端)
来源:互联网 发布:穷怎么打扮知乎 编辑:程序博客网 时间:2024/05/15 21:22
curator简介
Netflix curator 是Netflix公司开源的一个Zookeeper client library,用于简化zookeeper客户端编程,包含一下几个模块:
- curator-client - zookeeper client封装,用于取代原生的zookeeper客户端,提供一些非常有用的客户端特性
- curator-framework - zookeeper api的高层封装,大大简化zookeeper客户端编程,添加了例如zookeeper连接管理、重试机制等
- curator-recipes - zookeeper recipes 基于curator-framework的实现(除2PC以外)
maven dependency:
注意:在www.mvnrepository.com中认为0.32为最新版本,其实迄今为止最新版本为0.64,github trunk中的版本现在是0.65-SNAPSHOT
curator framework 使用
示例代码:
curator framework使用builder模式和类似nio的chain api,代码非常简洁
curator recipes 使用
InterProcessMutex
用途:进程间互斥锁
示例代码:
原理:每次调用acquire在/lock1节点节点下使用CreateMode.EPHEMERAL_SEQUENTIAL 创建新的ephemeral节点,然后getChildren获取所有的children,判断刚刚创建的临时节点是否为第一个,如果是,则获取锁成功;如果不是,则删除刚刚创建的临时节点。
注意: 每次accquire操作,成功,则请求zk server 2次(一次写,一次getChildren);如果失败,则请求zk server 3次(一次写,一次getChildren,一次delete)
InterProcessReadWriteLock
示例代码:
原理: 同InterProcessMutext,在ephemeral node的排序算法上做trick,write lock的排序在前。
注意: 同一个InterProcessReadWriteLock如果已经获取了write lock,则获取read lock也会成功
LeaderSelector
示例代码:
原理:内部基于InterProcessMutex实现,具体细节参见shared lock一节
总结
0 0
- Netflix Curator 使用(Zookeeper 简化客户端)
- Netflix Curator 使用 Zookeeper 编程
- [curator] Netflix Curator 使用 Zookeeper 编程
- [curator] Netflix Curator 使用
- [curator] Netflix Curator 使用
- Zookeeper客户端Curator使用详解
- zookeeper使用(三)--Curator客户端操作zookeeper
- Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情
- ZooKeeper——Curator客户端基本使用(笔记)
- ZooKeeper客户端curator介绍及使用
- ZooKeeper客户端Curator使用一 创建连接
- zookeeper 开源客户端Curator使用
- ZooKeeper客户端Curator使用一 创建连接
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- ZooKeeper客户端Curator(监听篇)
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- chrome插件开发计算器小例子
- 一天一条Linux指令-ifconfig
- idea 创建maven(ssm框架整合)
- Intellij 常用设置大全
- 内部比较器Comparable和外部比较器Comparator
- Netflix Curator 使用(Zookeeper 简化客户端)
- 阅读JVM高级特性与最佳实践-3
- java调用Linux 命令、Shell脚本
- DAY23:leetcode #56 Merge Intervals
- spring-test单元测试(一)-进行单个文件的单元测试
- hdu 5974
- 【NOIP2015】跳石头 【二分答案】
- ObRegisterCallbacks文件保护
- 382. Linked List Random Node