2019独角兽企业重金招聘Python工程师标准>>>

这个比较好理解,分布式数字,类似AtomicInteger系列,Curator有2个实现:

第一个:

package curator.counters;import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.shared.SharedCount;
import org.apache.curator.framework.recipes.shared.SharedCountListener;
import org.apache.curator.framework.recipes.shared.SharedCountReader;
import org.apache.curator.framework.state.ConnectionState;
import org.apache.curator.retry.ExponentialBackoffRetry;public class SharedCounterDemo {public static void main(String[] args) throws Exception {RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);final CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();client.start();SharedCount count = new SharedCount(client,"/cut",0);count.start();count.addListener(new SharedCountListener(){@Overridepublic void stateChanged(CuratorFramework client, ConnectionState newState) {}@Overridepublic void countHasChanged(SharedCountReader sharedCount, int newCount) throws Exception {System.err.println("sharedCount.getCount : "+sharedCount.getCount());System.err.println(newCount);}});Thread.currentThread().sleep(5000);count.setCount(5);System.in.read();}}

第二个:

package curator.counters;import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.atomic.AtomicValue;
import org.apache.curator.framework.recipes.atomic.DistributedAtomicInteger;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.retry.RetryNTimes;public class DistributedAtomicIntegerDemo {public static void main(String[] args) throws Exception {RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);final CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();client.start();DistributedAtomicInteger atomicInteger = new DistributedAtomicInteger(client,"/autlog",new RetryNTimes(32,1000));AtomicValue<Integer> rc = atomicInteger.add(8);  System.out.println("success:" + rc.succeeded() + ";before:" + rc.preValue() + ";after:" + rc.postValue());System.in.read();}}

转载于:https://my.oschina.net/u/1378390/blog/297059

Curator counters相关推荐

  1. zookeeper客户端库curator分析

    zookeeper客户端库curator分析 前言 综述 zookeeper保证 理解zookeeper的顺序一致性 之前使用zookeeper客户端踩到的坑 curator 连接保证 连接状态监控以 ...

  2. Curator Cache

    1.Curator Cache 与原生ZooKeeper Wacher区别 原生的ZooKeeper Wacher是一次性的:一个Wacher一旦触发就会被移出,如果你想要反复使用Wacher,就要在 ...

  3. 十六、curator recipes之DistributedIdQueue

    简介 curator实现了一种分布式ID队列,也是遵循FIFO原则,比普通队列新增的一个点是ID队列可以根据ID对队列元素进行操作,比如移除该元素. 官方文档:http://curator.apach ...

  4. Zookeeper开源客户端框架Curator的简单使用

    为什么80%的码农都做不了架构师?>>>    Curator最初由Netflix的Jordan Zimmerman开发, Curator提供了一套Java类库, 可以更容易的使用Z ...

  5. java curator_[java,zk]在 linux 上快速搭建 zookeeper curator 开发环境

    在这篇博客中简单介绍一下,如何快速的在 linux 操作系统上搭建使用 zookeeper 客户端 curator 编程的单机环境. 在前几篇博客中,介绍的是使用 zookeeper 原生提供的 AP ...

  6. Curator: ZooKeeper的使用配方

    Curator: ZooKeeper的使用配方 ZooKeeper 作为分布式的存储方式, 有很多种使用场景, 把典型的使用场景提取出来, 成为"配方", 方便用户参考. Cura ...

  7. 【ZK-curator使用异常】KeeperErrorCode = Unimplemented for /***

    [ZK-curator使用异常]KeeperErrorCode = Unimplemented for /*** 参考文章: (1)[ZK-curator使用异常]KeeperErrorCode = ...

  8. 五、curator recipes之选举主节点Leader Latch

    简介 在分布式计算中,主节点选举是为了把某个进程作为主节点来控制其它节点的过程.在选举结束之前,我们不知道哪个节点会成为主节点.curator对于主节点选举有两种实现方式,本文示例演示Latch的实现 ...

  9. 聊聊、Zookeeper 客户端 Curator

    [Curator]   和 ZkClient 一样,Curator 也是开源客户端,Curator 是 Netflix 公司开源的一套框架. <dependency><groupId ...

最新文章

  1. DBUtils (30)
  2. java amp amp 怎么用,java中amp;与amp;amp;的区别
  3. 五天面试 Google、Facebook、Airbnb 等硅谷五家顶级公司,我是如何都拿到 Offer 的
  4. 3.Vue 条件渲染
  5. eclipse 中创建maven工程问题(常见)
  6. Split Temporary Variable(分解临时变量)
  7. kotlin获取属性_Kotlin程序| 属性获取器和设置器方法的示例
  8. Oracle——集合运算
  9. Django引入静态文件
  10. centos卸载不必要的程序_新手教程:从Mac上的启动台Launchpad删除应用程序
  11. pygame 绘制爱心函数 r = 1-cos(θ). Tag: python | 图形界面 | GUI
  12. 酶促反应动力学_酶促反应动力学讲解.ppt
  13. C语言入门 | c语言基础知识
  14. 10G 82599EB 网卡测试优化 ethtool
  15. java后台 apiV3 对接微信app支付
  16. Java对接混合支付、退款、提现心得
  17. SSL证书一年需要多少钱
  18. 今天ifttt很火呀
  19. java能盗号吗_CVE-2017-8759漏洞新利用:Java Keylogger盗号木马分析
  20. 电子营业执照可信认证服务商--北京商兆科技有限公司 报名参与2022身份识别技术大会

热门文章

  1. 关于NB-IoT的十大问题和答案【转】
  2. 搭建本地YUM源服务器
  3. mysql mysqld_multi 单机多进程
  4. 谁说女生不能搞IT?一名女程序员的奋斗史
  5. ewebeditor后台拿shell
  6. PHP网站安全,PHP程序安全的几个措施
  7. 在freebsd下安装vim(Debian下类似)
  8. Android实现模块 api 化
  9. 机器学习算法学习---模型融合和提升的算法(五)
  10. 基于双向LSTM和迁移学习的seq2seq核心实体识别