curator(Curator怎么实现分布式数字)

发布时间:2025-12-10 22:48:28 浏览次数:1

Curator有2个实现:

第一个:

packagecurator.counters;importorg.apache.curator.RetryPolicy;importorg.apache.curator.framework.CuratorFramework;importorg.apache.curator.framework.CuratorFrameworkFactory;importorg.apache.curator.framework.recipes.shared.SharedCount;importorg.apache.curator.framework.recipes.shared.SharedCountListener;importorg.apache.curator.framework.recipes.shared.SharedCountReader;importorg.apache.curator.framework.state.ConnectionState;importorg.apache.curator.retry.ExponentialBackoffRetry;publicclassSharedCounterDemo{publicstaticvoidmain(String[]args)throwsException{RetryPolicyretryPolicy=newExponentialBackoffRetry(1000,3);finalCuratorFrameworkclient=CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();client.start();SharedCountcount=newSharedCount(client,"/cut",0);count.start();count.addListener(newSharedCountListener(){@OverridepublicvoidstateChanged(CuratorFrameworkclient,ConnectionStatenewState){}@OverridepublicvoidcountHasChanged(SharedCountReadersharedCount,intnewCount)throwsException{System.err.println("sharedCount.getCount:"+sharedCount.getCount());System.err.println(newCount);}});Thread.currentThread().sleep(5000);count.setCount(5);System.in.read();}}

第二个:

packagecurator.counters;importorg.apache.curator.RetryPolicy;importorg.apache.curator.framework.CuratorFramework;importorg.apache.curator.framework.CuratorFrameworkFactory;importorg.apache.curator.framework.recipes.atomic.AtomicValue;importorg.apache.curator.framework.recipes.atomic.DistributedAtomicInteger;importorg.apache.curator.retry.ExponentialBackoffRetry;importorg.apache.curator.retry.RetryNTimes;publicclassDistributedAtomicIntegerDemo{publicstaticvoidmain(String[]args)throwsException{RetryPolicyretryPolicy=newExponentialBackoffRetry(1000,3);finalCuratorFrameworkclient=CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();client.start();DistributedAtomicIntegeratomicInteger=newDistributedAtomicInteger(client,"/autlog",newRetryNTimes(32,1000));AtomicValue<Integer>rc=atomicInteger.add(8);System.out.println("success:"+rc.succeeded()+";before:"+rc.preValue()+";after:"+rc.postValue());System.in.read();}}

到此,关于“Curator怎么实现分布式数字”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注本站网站,小编会继续努力为大家带来更多实用的文章!

curator
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477