再次查看,养成习惯,并在微信上搜索[Mu Xiaonong],以支付更多信息。在风和雨中,小农民正在等待您,我很高兴成为您的朋友。项目源地址:公共帐户回复NACOS,您可以免费获得源代码
在上一堂课中,我们解释了客户注册服务的一般过程。当客户端注册时,客户端打电话以完成实例的注册。最后,我们知道服务注册是通过接口完成注册。今天我们今天是。首先,从此接口地址开始。查看特定服务器所做的事情。
以上是我们从官方网站上找到的NACOS架构图。从这张图片中,我们通常可以得出结论,我们正在寻找的界面应该在此服务中。同时,我们还可以在项目结构中查看命名模块。如果服务已注册,我们都知道请求路径是由控制器处理的,在其中,我们可以看到这样的类,因此注册实例肯定会与之相关。
因此,我们开始研究用于接收请求处理服务的源代码。我们找到请求类型的方法作为帖子和方法。只有该方法是请求的方法。分析信息,将替换替换为示例信息,然后调用呼叫。此方法也是服务注册的核心
让我们看一下下面的核心方法
getInstanceOperator()。registerInstance(命名空间,ServiceName,实例);
该判断是采用GRPC协议并默认使用GRPC,因此我们使用此实例对象
也就是说,我们需要输入的方法是以下实例的处理类
具体方法如下所示:
NACOS 2.0之后,添加客户端模型以管理与客户端相关的数据。如果客户端释放服务,则该客户端发布的所有服务和订户信息将被更新为客户端对象,该客户端对象对应于本客户端的链接,然后通过事件机制触发索引信息的更新。客户端负责管理客户端服务实例的服务以注册发布以及订阅订阅的服务订阅,这可以轻松汇总需要推动的服务范围。同时,客户端GRPC长连接对应于客户端。
知道客户模型后,我们来找到相应的特定实现
emeralclientoperationserviceImpl.RegisterInstance()
以下方法是负责处理服务注册。让我们仔细看看:
请求流程图:
NACO作为注册中心不仅提供服务注册和服务发现的功能,而且还提供了服务可用性检测的功能。在1.0版本中,临时实例是发行协议。(健康)状态,最后一个示例是筏协议存储。
客户主动地向该机制报告:您主动寻找上级,说您没有拳(不健康的状态)
服务器主动采取主动行动来访问该机制:上级检测到您有未入住的记录,并采取主动行动来找您
对于NACOS健康检测机制,我们不能主动设置该计划,但是健康检查机制与NACOS的服务示例类型密切相关。有两个服务示例:主要是:
客户积极报告
临时实例将每5秒积极地报告您的健康状况,并发送心跳。如果心跳之间的间隔超过15秒,则NACOS服务器将标记为Sub -Health State.emove。
版本2.0后,持续的示例保持不变,临时示例是确定实例是否通过长时间的连接健康。
ConnectionManager:检测所有在每3秒钟超过20秒钟都没有传达的客户端,并向客户端启动ClientDetectionRequest Rectection请求。如果客户端在1秒内成功响应,则通过检测,否则执行未注册方法以删除连接
如果客户端继续与服务器进行通信,则服务器无需主动探索该计划。仅当客户端不与服务器通信时,服务器才会主动探索操作
删除服务器操作时,将操作该方法。
实现类是删除此处的索引缓存和其他操作的操作
此时,NACOS服务器的源代码已完成。在某些地方,我们没有扩展它。在随后的源代码说明中,它将详细解释。最新内容将在以后向所有人介绍。如果您认为在文章中对您有帮助,请记住喜欢它?
今天是母亲节,在这里,我希望母亲,节日快乐!
我是一个小农夫,我害怕事实,而且我有了进一步的喜悦。快点
原始:https://juejin.cn/post/7095297182021976078
