3701汉化包 axure r9_AXURE9最全的WEB设计元件库(分享版).rplib
Axure9常用到的WEB设计元件库,在Axure点击+号即可导入元件库使用,或者打开Axure R9安装目录,进入DefaultSettings\Libraries,复制资源到此目录并重启Axure软件即可看到。
以下内容无关:
-------------------------------------------分割线---------------------------------------------
Nacos Client会维护一个定时任务通过持续调用服务端的接口更新心跳时间,保证自己处于存活状态,防止服务端将服务剔除,Nacos默认5秒向服务端发送一次,通过请求服务端接口/instance/beat发送心跳。
客户端服务在注册服务的时候会增加一个心跳的任务,如下图所示:
首先看下BeatInfo这个类,重点看标注的字段,该字段是给周期任务设定时间,如下图:
该方法内部定义的一个DEFAULT_HEART_BEAT_INTERVAL的常量,设定5秒:
接下来我们看下addBeatInfo方法,该方法内部主要是将BeatTask任务加入到线程池ScheduledExecutorService当中,如下图:
重点部分就是看BeatTask,BeatTask继承Runnable,run方法就是我们的重点,该方法调用了NamingProxy的sendBeat方法,服务端请求地址为/instance/beat的方法
接下来我们把目光放到服务端,找到InstanceController的beat方法,如果是参数beat信息的话,说明是第一次发起心跳,则会带有服务实例信息,因为发起心跳成功则服务端会返回下次不要带beat信息的参数,这样客户端第二次就不会携带beat信息了。如果发现没有该服务,又没带beat信息,说明这个服务可能被移除过了,直接返回没找到。如果没有服务,但是发现有beat信息,那就从beat中获取服务实例信息,进行注册,整体执行流程如下图:
View Code
接下来我们看一下processClientBeat方法,该方法将ClientBeatProcessor放入到线程池中,接下来我们看下重点看下run方法,
该方法内部主要就是更新对应实例下心跳时间,整体上如下图:
至此完成了从客户端到服务端更新实例的心跳时间,下图是整体的时序图:
服务的健康检查
Nacos Server会开启一个定时任务来检查注册服务的健康情况,对于超过15秒没收到客户端的心跳实例会将它的 healthy属性置为false,此时当客户端不会将该实例的信息发现,如果某个服务的实例超过30秒没收到心跳,则剔除该实例,如果剔除的实例恢复,发送心跳则会恢复。
当有实例注册的时候,我们会看到有个service.init()的方法,该方法的实现主要是将ClientBeatCheckTask加入到线程池当中,如下图:
ClientBeatCheckTask中的run方法主要做两件事心跳时间超过15秒则设置该实例信息为不健康状况和心跳时间超过30秒则删除该实例信息,如下代码:
View Code
首先我们来看一下deleteIp方法,该方法内部主要通过构建删除请求,发送删除请求,如下图:
删除实例的接口如下图:
内部通过调用ServiceManager的removeInstance方法,如下图:
重点看下substractIpAddresses内部通过调用updateIpAddresses,该方法内部主要就是移除到超过30秒的实例信息,如下图:
到此完成删除实例的过程,整体的时序图如下:
接下来我们看标记不健康时候的代码,这部分代码在客户端注册的时候也出现相同的代码,只是我们略过了,这部分也是观察者模式的重要体现,从这里我们可以学习到的东西在于结合Spring的事件机制,轻松实现观察者模式,当然这个里面也有部分我感觉写的不太好,哈哈,大佬们看到勿喷。
首先我们看serviceChanged方法,该方法主要是发布一个服务不健康的事件,如下图:
接下来我们看下如何处理这个事件,这个时候涉及PushService这个类,整体的继承结构如下图:
我们看到该类的继承ApplicationListener接口,该接口是一个支持泛型的接口,传入了ServiceChangeEvent的类,此处就是对事件的处理,如下图:
接下来看一下onApplicationEvent方法,这个方法主要完成了准备数据,发送数据这几件事情:
View Code
接下里我们重点看下udpPush的方法,整个方法主要是通过一个Map对象来记录UDP请求,如果没收到就重试发送请求,整体如下:
View Code
服务端有发送,那么客户端就有接收的,接收部分我理解上是服务发现部分,这里我们就不做过多介绍,待下一篇再来聊聊。
3701汉化包 axure r9_AXURE9最全的WEB设计元件库(分享版).rplib相关推荐
- Axure7.0 以及 中文汉化语言包下载 axure汉化包
支持 Axure RP Pro 正式版 当前最新版本 7.0.0.3184 不兼容6.5及以下版本! Axure7.0 下载地址:http://pan.baidu.com/s/1dEuR8YX Axu ...
- Axure RP 9最新版软件及汉化包下载
官方安装包下载地址(速度较慢) 下载Axure RP 9 Beta MAC版:https://axure.cachefly.net/AxureRP-Setup-Beta.dmg 下载Axure RP ...
- 亲,你心念念的Axure9.0来了,请查收~ 内附Axure安装包+汉化包+授权码获取方式
文章大纲 01 前言 02 Axure9.0 新特性 03 安装步骤 04 安装包免费获取途径 美国时间2018年9月5日Axure RP 9.0 Beta版在官方博客首次对外公布,一时间引来了不少全 ...
- Axure 7.0 正式版 + 汉化包 安装
Axure 7.0 正式版 + 汉化包 安装 详情如下: Axure 7.0 正式版终于发布了,现在提供简体中文版给大家使用. Axure 7.0 正式版: 链接: http://pan.baidu. ...
- IntelliJ IDEA 2017.3-2018.1 全系列汉化包
JetBrains 系列软件汉化包 关键字: Android Studio 3.0-3.1 汉化包 GoLand 2017.3.2-2018.1 汉化包 IntelliJ IDEA 2017.3 ...
- PowerDesigner16.5汉化破解版安装教程(含安装文件、汉化包、破解文件)
一.软件安装 1.下载安装包(包含安装文件.汉化包.破解文件),下载链接在文章最后,失效请留言 2.下载后文件内容如下 3.进入安装文件中双击安装文件等待初始化完成后选择next 4.继续下一步 5. ...
- ArcGIS,CC(Smart3D),ENVI....工作中常用软件的汉化包都在这,随你下载
之前就不少粉丝抱怨 英语不好 四级勉强,六级无能 每天打开软件都是英文的 都是凭记忆使用一些功能 专业词汇也记不住,更是不懂 使用起来全凭机械记忆 一些软件安装中当时没找到汉化版 现在使用其他很是苦逼 ...
- webstorm 2017.2 汉化包 中文激活破解版(附汉化教程)
WebStorm 2017是一款JavaScript开发工具,被誉为最强大的HTML5编辑器以及最智能的JavaSscript IDE,WebStorm2017带来了全新的功能和界面,并拥有代码补全. ...
- Samplitude pro x4完美汉化破解版|Samplitude pro x4 64位完美汉化破解版(附汉化包)下载 v15.0.1.139
点击下载来源: Samplitude pro x4 64位完美汉化破解版(附汉化包) v15.0.1.139 Samplitude pro x4是一款音频制作软件,功能丰富,操作简单,工作流程顺畅,内 ...
- Android Studio 最新汉化包下载及安装方法,持续更新 IDEA
今天将 Android Studio 从 3.0 版更新到了 Android Studio Chipmunk | 2021.2.1 Patch 2 版(2021.2.1.16) 搜索 chinese ...
最新文章
- 数据库基础笔记(MySQL)7 —— 存储引擎和视图 ( 完结撒花 )
- App小样在手机运行了一下
- zigbee抗干扰matlab仿真,基于Zigbee的扩频通信MATLAB仿真.doc
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor自定义上传路径配置...
- HTML多选框滚动条,《HTM单选.doc
- comboBox绑定数据库后SelectedIndexChanged事件出错
- html 转换xslt,XSLT xsl:template 元素
- Linux、Mac 命令行快捷键
- 什么样的人适合自学编程?你以为你自学难是为什么?来看看答案吧!
- 嵌入式操作系统内核原理和开发(改进的链表内存分配算法)
- LAV Filter 源代码分析 2: LAV Splitter
- VMware服务器虚拟化平台应急方案
- 静态密码已经OUT 探索身份验证新方式
- 三相逆变器双pi控制器参数如何调节_SPMSM控制:传统PI电流环参数的整定
- ISP(图像信号处理)介绍
- 基于javaweb的毕设基于java的系统设计与开发
- Windows 10,Server 2019 通过cobbler 实现批量自动化安装
- SQL Server电影院数据库管理系统【英文版-源码】--(Movie Theatre Management System Database)
- vim高亮多处,搜索多个关键词
- 华为交换机nqa配置
热门文章
- 用微型计算机原理做流水灯,微机原理流水灯设计.doc
- 钉钉机器人智能提醒_使用钉钉机器人定时发送消息
- Android,什么是MVP模式?
- Codeforces 950C Zebras ( 贪心 模拟 )
- 工作被拥抱变化了该怎么办?
- 一些外汇交易专业术语
- 程序员,你以为你很优秀,但却面试屡屡失败?
- OneZero第四周第一次站立会议(2016.4.11)
- 天大、中南、中山、北师、中科院地图学与地理信息系统GIS及遥感RS专业推免夏令营面试经历与题目汇总
- java 汉字拼音排序_[转]Java汉字按照拼音排序