游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

分布式学习之zookeeper3

  分布式学习之zookeeper3
  分布式很多地方都会用到zk,虽然这个技术出了很久,但是作为应用开发工程师可能这方面接触的还是比较少。
  我打算从浅入深的学习下zk的使用。Java操作zk的几种方式
  java操作zk可以使用3种方式使用原生zkClinetcurator
  开始写代码前请务必启动启动zookeeper(虽然是废话,但是还要提醒一下)。
  另外最好开一个客户端用来观察调用代码后的信息。原生
  maven引用dependencygroupIdorg。apache。zookeepergroupIdzookeeperartifactIdversion3。4。8versiondependency
  代码:Author:jimmyDate:20221221:32Description:publicclassZookeeperOri{publicstaticvoidmain(String〔〕args)throwsIOException,KeeperException,InterruptedException{连接zk服务器ZooKeeperzknewZooKeeper(127。0。0。1,2000,newWatcher(){Overridepublicvoidprocess(WatchedEventwatchedEvent){System。out。println(zookeeper连接);}});节点基本操作获取子节点ListStringchildrenzk。getChildren(,null);children。forEach(eSystem。out。println(e));判断是否存在节点、删除节点注意删除节点的时候必须不存在子节点if(null!zk。exists(my1,null)){zk。delete(my1,1);}原生客户端创建节点CreateModePERSISTENT持久PERSISTENTSEQUENTIAL有序持久EPHEMERAL临时EPHEMERALSEQUENTIAL有序临时这里需要设置权限不然会报错【KeeperErrorCodeMarshallingError】Stringcrszk。create(my1,testmy。getBytes(),ZooDefs。Ids。OPENACLUNSAFE,CreateMode。PERSISTENT);System。out。println(crs);byte〔〕rszk。getData(my1,null,newStat());System。out。println(newString(rs));非顺序节点不能重复创建try{Stringcrstmpzk。create(my1,testmy。getBytes(),ZooDefs。Ids。OPENACLUNSAFE,CreateMode。PERSISTENT);}catch(Exceptione){System。out。println(ex:e。getMessage());}设置值Statstatzk。setData(my1,mytest。getBytes(),1);System。out。println(JSONObject。toJSONString(stat));获取值rszk。getData(my1,null,newStat());System。out。println(newString(rs));创建有序节点UUIDuuidnewUUID(12,1);crszk。create(mysequen,(testmysequenuuid。toString())。getBytes(),ZooDefs。Ids。OPENACLUNSAFE,CreateMode。PERSISTENTSEQUENTIAL);System。out。println(crs);ListStringchildrenszk。getChildren(my,null);childrens。forEach(eSystem。out。println(e));有序节点的获取,不能直接使用节点名称,这里会报错try{rszk。getData(mysequen,null,newStat());System。out。println(newString(rs));}catch(Exceptione){System。out。println(ex:e。getMessage());}System。out。println(有序节点的获取);for(StringnodeKey:childrens){byte〔〕tmpzk。getData(mynodeKey,null,newStat());System。out。println(nodeKey:nodeKey,value:newString(tmp));}监听StringepNodezk。create(myEp,testmyEp。getBytes(),ZooDefs。Ids。OPENACLUNSAFE,CreateMode。EPHEMERAL);zk。getData(myEp,newWatcherDefine(zk),newStat());触发watchzk。setData(myEp,uu。getBytes(),1);zk。close();}staticclassWatcherDefineimplementsWatcher{privateZooKeeperzookeeper;publicWatcherDefine(ZooKeeperzookeeper){this。zookeeperzookeeper;}Overridepublicvoidprocess(WatchedEventwatchedEvent){StatstatnewStat();如果当前的连接状态是连接成功的,那么通过计数器去控制if(watchedEvent。getState()Watcher。Event。KeeperState。SyncConnected){if(Watcher。Event。EventType。NonewatchedEvent。getType()nullwatchedEvent。getPath()){System。out。println(watchedEvent。getState()watchedEvent。getType());}elseif(watchedEvent。getType()Watcher。Event。EventType。NodeDataChanged){try{System。out。println(数据变更触发路径:watchedEvent。getPath()改变后的值:newString(zookeeper。getData(watchedEvent。getPath(),true,stat)));}catch(KeeperExceptione){e。printStackTrace();}catch(InterruptedExceptione){e。printStackTrace();}}elseif(watchedEvent。getType()Watcher。Event。EventType。NodeChildrenChanged){子节点的数据变化会触发try{System。out。println(子节点数据变更路径:watchedEvent。getPath()节点的值:zookeeper。getData(watchedEvent。getPath(),true,stat));}catch(KeeperExceptione){e。printStackTrace();}catch(InterruptedExceptione){e。printStackTrace();}}elseif(watchedEvent。getType()Watcher。Event。EventType。NodeCreated){创建子节点的时候会触发try{System。out。println(节点创建路径:watchedEvent。getPath()节点的值:zookeeper。getData(watchedEvent。getPath(),true,stat));}catch(KeeperExceptione){e。printStackTrace();}catch(InterruptedExceptione){e。printStackTrace();}}elseif(watchedEvent。getType()Watcher。Event。EventType。NodeDeleted){子节点删除会触发System。out。println(节点删除路径:watchedEvent。getPath());}}}}}zkClinet
  maven依赖!zkclient依赖dependencygroupIdcom。101tecgroupIdzkclientartifactIdversion0。10versiondependency
  我在下面测试的时候遇到了乱码问题分为2部分(我是windows测试环境)无论是否是中文写入的时候都是乱码实现ZkSerializer来解决。上面问题解决后中文仍然是乱码windows的cmdpowershell的锅,需要设置为UTF8临时设置:CHCP65001这个仍然会存在乱码的问题,因此我在练习类种后面把数据打出来了。
  练习类:Author:jimmyDate:20221212:00Description:publicclassZkClientPp{publicstaticvoidmain(String〔〕args)throwsInterruptedException,UnsupportedEncodingException{ZkClientzkClientnewZkClient(127。0。0。1:2181);解决乱码问题zkClient。setZkSerializer(newZkCodeSerializer());if(zkClient。exists(prc)){zkClient。delete(prc);}创建持久化节点zkClient。createPersistent(prc);zkClient。writeData(prc,handsomeboy);读取值StringdatazkClient。readData(prc);System。out。println(data);获取子节点ListStringchildrenzkClient。getChildren();children。forEach(cSystem。out。println(c));System。out。println();监听zkClient。subscribeDataChanges(prc,newIZkDataListener(){OverridepublicvoidhandleDataChange(Strings,Objecto)throwsException{System。out。println();System。out。println(节点名称:s节点修改后的值o);}OverridepublicvoidhandleDataDeleted(Strings)throwsException{System。out。println();System。out。println(节点名称:s删除了);}});Thread。sleep(2000);newString(老子叫工藤新一。getBytes(utf8)zkClient。writeData(prc,老子叫工藤新一!);StringszkClient。readData(prc);System。out。println(第一次变更prc);System。out。println(s);Thread。sleep(5000);zkClient。writeData(prc,变成了一个小屁孩);datazkClient。readData(prc);System。out。println(第二次变更prc);System。out。println(data);修改完后,若程序立即结束,则无法看到watch的信息。Thread。sleep(Integer。MAXVALUE);zkClient。close();}乱码解决类staticclassZkCodeSerializerimplementsZkSerializer{Overridepublicbyte〔〕serialize(Objectobject)throwsZkMarshallingError{return((String)object)。getBytes(Charset。forName(UTF8));}OverridepublicObjectdeserialize(byte〔〕bytes)throwsZkMarshallingError{returnnewString(bytes,Charset。forName(UTF8));}}}curator
  maven依赖dependencygroupIdorg。apache。curatorgroupIdcuratorframeworkartifactIdversion2。11。0versiondependency
  代码:Author:jimmyDate:20221315:25Description:publicclassCuratorClinet{publicstaticvoidmain(String〔〕args)throwsInterruptedException{CuratorFrameworkcuratorFrameworkCuratorFrameworkFactory。newClient(127。0。0。1:2181,5000,2000,newExponentialBackoffRetry(1000,3));curatorFramework。start();创建节点try{StringresultcuratorFramework。create()。creatingParentsIfNeeded()。withMode(CreateMode。PERSISTENT)。forPath(curatorC1C101,curator。getBytes());System。out。println(result);}catch(Exceptione){e。printStackTrace();}删除节点try{默认情况下,version为1递归删除curatorFramework。delete()。deletingChildrenIfNeeded()。forPath(curator);}catch(Exceptione){e。printStackTrace();}查询StatstatnewStat();try{byte〔〕bytescuratorFramework。getData()。storingStatIn(stat)。forPath(my);System。out。println(newString(bytes));}catch(Exceptione){e。printStackTrace();}更新try{StatscuratorFramework。setData()。forPath(my,123。getBytes());System。out。println(s);}catch(Exceptione){e。printStackTrace();}异步操作ExecutorServiceserviceExecutors。newFixedThreadPool(1);CountDownLatchcountDownLatchnewCountDownLatch(1);try{curatorFramework。create()。creatingParentsIfNeeded()。withMode(CreateMode。EPHEMERAL)。inBackground(newBackgroundCallback(){OverridepublicvoidprocessResult(CuratorFrameworkcuratorFramework,CuratorEventcuratorEvent)throwsException{System。out。println(Thread。currentThread()。getName()resultCode:curatorEvent。getResultCode()curatorEvent。getType());countDownLatch。countDown();}},service)。forPath(prc,behappy。getBytes());}catch(Exceptione){e。printStackTrace();}countDownLatch。await();service。shutdown();事务操作(curator独有的)try{CollectionCuratorTransactionResultresultCollectionscuratorFramework。inTransaction()。create()。forPath(demo1,111。getBytes())。and()。setData()。forPath(abc,trunsaction:test。getBytes())。and()。commit();for(CuratorTransactionResultresult:resultCollections){System。out。println(result。getForPath()result。getType());}}catch(Exceptione){e。printStackTrace();}}}

不会还在纠结哪款手机拍照好吧?魅族18系列YYDS对手机的选择你最看重的是什么?是强悍的性能、流畅的操作系统还是优秀的影像能力?相信有不少人会对这样的选择感到顾虑,其实不同的人对手机都有着不同的需求,如今的手机市场真是鱼龙混杂……2021年7月综合视频APP用户洞察暑期档综合视频行业用户时7月暑期档正迎东京奥运会开幕,丰富视频内容叠加上奥运会的顶级流量,带来用户使用时长回升。据易观千帆数据,7月综合视频行业活跃人数为9。37亿人次,环比下降5。05,月用户使用时……frp让你轻松实现内网穿透内网穿透,亦指NAT穿透,它能够让局域内网的主机与外部互联网进行连通。我们可以通过内网穿透工具实现私有云的搭建、家庭与工作电脑直连以及搭建自己的web服务器等。工具及环境……36氪独家详解腾讯各事业群裁员情况,比例没有网传30那么高文余洋洋、苏建勋、王毓婵编辑杨轩36氪从多名接近腾讯的人士处获悉,从去年年底至今,腾讯多个事业群正在进行人员缩减,裁员动作较大的主要是CSIG(云与智慧产业事业群)……第三届全球硬科技嘉年华圆满举办探索科技发展新风尚当前,在中关村新一轮先行先试改革的重大机遇下,数字文化中关村2021的重要活动以打破边界科技狂欢为主题的2021(第三届)全球硬科技嘉年华于10月15日至18日在自贸区科技创新……货拉拉进军网约车市场,为补贴烧钱,新一轮收割开始了更多汽车资讯欢迎关注公众号亚洲新能源汽车网货拉拉上线小拉出行,为补贴烧钱,新一轮收割开始了。拉人的要拉货,拉货的又要拉人,整个市场都卷起来了。氢财经曾经做出过……如何克隆Salesforcezoho的CRM客户管理系统?如何克隆Salesforce、zoho的CRM客户管理系统?请不要误会,我们没有任何侵权Salesforce、zoho的版权意图,Teamface企典无代码企业应用平台,……五折的阿迪达斯,小编猜你一定买走阿迪达斯五折、五折、五折。。。。。。听到这个消息是不是很开心不只鞋子五折哦可以为男朋友买也可以为女朋友买爱自己就给自己买哈哈哈。。。。。。……华为MatePad11体验鸿蒙系统高刷全面屏,学习工作生产力前不久,华为正式推出了HarmonyOS2,在这次推出的系统中为用户带来超级终端、万能卡片、服务中心、应用跨设备流转、免下载卡片应用、分布式互联等各类功能,深受用户好评,焕发新……手机软文文案的标题怎样写才能吸引人?现在可以说是一个人手手机的时代,而且大部分是手机不离手,手机在我们的生活中是已经变得十分普通,成为工作生活的必备品,而且因为我国的人口基数大,因此手机的普及率也是非常高的。手机……假的!网友自制MIUI13海报太逼真,小米高管差点信以为真点击右上方关注,第一时间获取科技资讯、技能攻略、产品体验,私信我回复01,送你一份玩机技能大礼包。7月8日消息,一张MIUI13发布的预热海报在社交平台广泛传播,随后,小……iPhone13Pro无线充电功率变大,有望加入无线反向充电下一代的iPhone手机,暂且命名为iPhone13,近日在网上的爆料消息越来越多,种种迹象都表明,iPhone13系列手机的后摄模组将会变大,影像能力将得到提升,同时机身正面……
亲吻一下手机就解锁?错了,华为唇动解锁技术不是这样的目前我们主流的解锁方式,不外乎输入密码、面孔识别、指纹识别,虹膜识别、血液识别也有,但是成本太昂贵了,难以推广。然而最近,华为技术有限公司公开设备解锁方法和装置专利,公开……245页云原生基础入门手册,内容系统图文并茂,1天搞懂云原生你可能没听过云原生,但你一定听过大数据、AI、数字经济,其实这些都离不开云原生的应用,云原生就在我们身边悄然扎根了。加快数字发展,建设数字中国甚至是十四五规划中的独立篇章,大篇……打游戏爽看片更爽微星MAG274QRFQD电竞显示器体验前言:最近找啊鲁买显示器的小伙伴可不少,一个原因是显卡大家买不到,第二是因为显卡价格上天。倒不如继续用着RTX20系列老卡,升级一波高刷显示器同样能带来不错的游戏体验。……有杀气!最新丰田越野王能否给奔驰大G上一课?提到顶级越野神车,很多人首先想到的都是三把锁的奔驰G级。然而,2。0T直列四缸引擎卖到指导价142。98万元,大G确实有着浓浓的智商税味道。改朝换代是历史的必然,汽车市场……个人信息安全有了法律保护十荟团与阿里MMC整合不得进行大数据杀熟,个人信息安全有了专门法律保护据新华社消息,十三届全国人大常委会第三十次会议8月20日表决通过《中华人民共和国个人信息保护法》,自2021年11月1日起……有钱任性!扎克伯格向8家最爱餐馆捐80万美元据外媒报道,扎克伯格夫妇向8家帕罗奥多当地餐馆分别提供了10万美元资金,以帮助在疫情期间维持生计。其中包括寿司店、中餐馆等,都是两人最常去的餐馆。最初,不少收到扎克伯格邮件的店……关于网络流量的一些看法和建议闲来无事闲逛在大街上,看到有些人,为了某些楼盘开业引流,居然堵了一条大马路,强行将路人引流到楼盘开业的路口,让我若有所想,想想今天的网络空间,想想今天的流量明星,想想网络上近些……未来可期宝德新一代服务器与英特尔至强新品同步发布企业数字化转型加速推进,业务负载种类日趋复杂,计算效率、业务智能已经成为计算行业的创新推动力。4月7日,英特尔发布了全新第三代英特尔至强可扩展平台,基于该平台宝德全线IA服务器……一拳超人难想象的场景,埼玉爆破还有龙卷组队打BOSS,谁扛得看过《一拳超人》动漫的朋友应该知道,在这部动漫中,每个英雄都有相应的评级,而根据原著中的实力排行,这其中总共出现了17位S级英雄。而这17位S级英雄中,公认最强的三位分别是爆破……利亚德当光电与数字化在云端邂逅华为云全球技术峰会在广州召开。利亚德作为合作伙伴受邀出席大会并分享生产的数字化转型。王瑞娟代表利亚德分享企业数字化升级近年来,随着业务规模的不断扩大,公司管理幅度和……翠贝卡电影节TribecaFestival视觉形象升级翠贝卡电影节(TribecaFestival)由好莱坞老牌明星罗伯特德尼罗和其他几位电影人创立于911事件之后,几位创办人希望用这个电影节振兴曼哈顿下城的士气和经济。今年是该节……家庭教育促进法将成立家庭教育促进法将成立审核状态:已通过类别:企业新闻发布人:100137055发布时间:2021102514:12【转扩】家庭教育促进法将成立!80的教师家长需报名上课,家……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网