0
点赞
收藏
分享

微信扫一扫

28个案例问题分析---023---部分服务总是出现频繁掉线的情况--nacos,springCloud


背景

我们的springCloud项目,使用的nacos作为服务中心。但是其中有一个服务,总是出现频繁掉线的问题。后来通过查询博客。采用。先停nacos,再删掉data目录下的protocol文件夹,最后重启需要注册的服务进行的解决,今天就来总结一下,这个问题涉及到的知识点。

原因分析

解决过程设计到的知识

  1. nacos的data目录作用。
    nacos的data目录是用来存储nacos服务的数据的,包括配置信息,服务信息等。默认的情况下,data目录位于naocs安装目录下的。
  2. nacos data目下的protocol目录
    nacos的data目录下的protocol目录是用来存储。服务中心的协议信息的,它记录了服务注册中心所使用的协议类型,版本号等等。以便于服务提供者和服务消费者之间进行通信。
  3. nacos ip混乱问题
    nacos的ip混乱。可能是因为网络配置不正确,或者服务注册不规范导致的。可以通过检查网络配置和服务注册情况来解决这个问题。我们这里使用的解决问题是注册的服务全部删掉,然后重新注册解决的。

nacos服务注册发现原理

  1. 服务注册
    Nacos Client 通过发送REST请求向Nacos Server注册自己的服务。提供自己的 ip地址、端口等信息。
  2. 服务心跳
    服务注册之后。Nacos Client 会默认每5s向Nacos Server 发送一次心跳。以防止服务被剔除。
  3. 服务发现
    服务消费者Nacos Client ,在调用服务提供者服务时,会发送一个REST请求给,Nacos Server ,获取Nacos Server上注册的服务清单。并且缓存在 本地。同时会在Nacos Client 本地开启一个定时任务,定时拉取服务端最新注册表信息,更新到本地缓存。
  4. 服务健康检测
    Nacos Server 开启一个定时任务,检查注册服务实例的健康情况。超过15s没有收到客户端心跳的实例,会将它的 healthy数据设置为(false),如果某个实例超过30s没有收到心跳,直接剔除该实例(如果服务恢复的话,)


举报

相关推荐

0 条评论