nacos client中PushReceiver的原理和应用


本篇内容主要讲解“nacos client中PushReceiver的原理和应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nacos client中PushReceiver的原理和应用”吧!本文主要研究一下nacos client的PushReceivernacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/naming/core/PushReceiver.javaPushReceiver实现了Runnable接口,其构造器会创建udpSocket以及ScheduledThreadPoolExecutor,然后往ScheduledThreadPoolExecutor注册自己其run方法使用while true循环来执行udpSocket.receive(packet),之后将接收到的数据解析为PushPacket,然后根据不同pushPacket. 香港云主机type做不同处理当pushPacket.type为dom或者service的时候会调用hostReactor.processServiceJSON(pushPacket.data);当pushPacket.type为dump的时候会将hostReactor.getServiceInfoMap()序列化到ack中,最后将ack返回去nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/naming/core/HostReactor.javaprocessServiceJSON方法会对比将接收到serviceInfo与本地对比,然后判断是否变更,并在需要的时候更新本地的serviceInfo并回调eventDispatcher.serviceChanged(serviceInfo)以及DiskCache.write(serviceInfo, cacheDir);HostReactor的构造器有个loadCacheAtStart参数(默认为false),如果为true则会使用DiskCache.read(this.cacheDir)从本地文件读取serviceInfo信息来初始化serviceInfoMapnacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/naming/cache/DiskCache.javaDiskCache的write方法会将serviceInfo写入到dir文件夹下面,文件名为serviceInfo.getKeyEncoded();read方法则是读取dir文件夹下面的文件然后解析为一个个ServiceInfo然后放到domMap,最后返回domMapPushReceiver实现了Runnable接口,其构造器会创建udpSocket以及ScheduledThreadPoolExecutor,然后往ScheduledThreadPoolExecutor注册自己其run方法使用while true循环来执行udpSocket.receive(packet),之后将接收到的数据解析为PushPacket,然后根据不同pushPacket.type做不同处理当pushPacket.type为dom或者service的时候会调用hostReactor.processServiceJSON(pushPacket.data);当pushPacket.type为dump的时候会将hostReactor.getServiceInfoMap()序列化到ack中,最后将ack返回去到此,相信大家对“nacos client中PushReceiver的原理和应用”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 电脑输入字母和数字会占用一个汉字的位置如何解决

这篇文章主要介绍“电脑输入字母和数字会占用一个汉字的位置如何解决”,在日常操作中,相信很多人在电脑输入字母和数字会占用一个汉字的位置如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”电脑输入字母和数字会占用一个汉字的位置如何…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/30 13:35
Next 07/30 13:35

相关推荐