zookeeper的选举法怎么用
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"zookeeper的选举法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"zookeeper的选举法怎么用"吧!Curator的实现
千家信息网最后更新 2025年01月23日zookeeper的选举法怎么用
本篇内容主要讲解"zookeeper的选举法怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"zookeeper的选举法怎么用"吧!
Curator的实现有2个种:
LeaderLatch:
这种是有阻塞的,就是大家一起上,谁先上了,就一直阻塞着,直到方法执行完成。如果执行结束,那么其他的兄弟就选一个出来。我觉得这种适合主备,比如开2 个 job,一个挂了另一个就上。
代码,这种代码最好是开2个eclipse看效果,顺序打开,看效果,再领悟:
package curator.selector;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.framework.recipes.leader.LeaderLatch;import org.apache.curator.retry.ExponentialBackoffRetry;public class LeaderLatchDemo { public static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3); CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(2000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("text").build(); client.start(); // 选举Leader 启动 LeaderLatch latch = new LeaderLatch(client,"/path"); latch.start(); latch.await(); System.err.println("我启动了"); Thread.currentThread().sleep(1000000); latch.close(); client.close(); }}
LeaderSelector:
这种复杂一点,他有个leaderSelector.autoRequeue();就是自动抢,比如打印一个helloworld,第一个打印完,第2个打印,然后第3个打印。然后第一个再打印,大家一起抢。有点动态选举的味道。
代码:
package curator.selector;import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.framework.recipes.leader.LeaderSelector;import org.apache.curator.framework.recipes.leader.LeaderSelectorListenerAdapter;import org.apache.curator.retry.ExponentialBackoffRetry;public class LeaderSelectorDemo { 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("text").build(); client.start(); final LeaderSelector leaderSelector = new LeaderSelector(client, "/led", new LeaderSelectorListenerAdapter(){ @Override public void takeLeadership(CuratorFramework client) throws Exception { System.err.println("work ing..."); Thread.currentThread().sleep(3000); System.err.println("end"); } }); leaderSelector.autoRequeue(); leaderSelector.start(); System.in.read(); }}
到此,相信大家对"zookeeper的选举法怎么用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
选举
选举法
代码
内容
就是
效果
方法
学习
阻塞
复杂
实用
更深
兄弟
兴趣
动态
味道
实用性
实际
操作简单
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
fm 数据库两星
安滨鑫互联网科技有限公司
空搜网络技术有限公司
希望网络技术服务有限公司
rd网关服务器配置
西安天博网络技术有限公司
中国知网比对数据库
软件开发岗工作总结
时空猎人无法更新服务器
谷歌服务器下载
魔兽世界赛季服都有什么服务器
银行软件开发电话面试经验
还原数据库备份没有数据
长治市科迪计算机网络技术
共享服务器怎么设置
嵌入式和软件开发的区别
中国服务器招标
服务器是装在电脑主机里吗
通达信同花顺数据库
数据库中begin end
怀旧服服务器推出时间
美军网络安全研制试验程序
信息网络安全管理论文
带图形界面的linux服务器
数据库和前台语言怎么连接
手机应用软件开发使用
关于网络安全串词
pi数据库管理
社会对软件开发的影响
网络安全技术基础配伍题