nacos服务注册结构:nacos采用分级存储结构,最外层是一个namespace来隔离环境,然后是Group用来服务分组,接下来就是服务了,一个服务对应多个实例,但是可能存在不同机房,因此service下有多个集群,集群下又是不同实例。
nacos配置更新流程:nacos采用长轮询的方式去nacos server端去发起配置更新查询功能,长轮询就是客户端发起一次轮询请求到服务端,当服务端的配置没有任何更新时,连接会一直打开,直到服务端配置更新或超时情况下才会返回。客户端获取变更配置,前提需要比较,客户端的本地信息和服务器信息进行比较,有差异再拉取。
nacos的配置中心刷新原则:nacos客户端每隔十秒钟会向服务端发送一个请求,请求头上会携带长轮询的超时时间(一般默认是30s)当服务端接受到客户端的请求时,会挂起一段时间,在这期间,配置有变化会立即相应给客户端。
nacos微服务的心跳机制:启动nacos服务,启动成功之后,再启动微服务的时候,微服务会向nacos服务建立连接,并且发送心跳请求,nacos会记录发送心跳的时间,然后微服务会向nacos进行服务注册。nacos中有一个定时线程不断的进行监听,用nacos背后的系统时间减去最新一次的心跳时间,看是否大于本地系统设置的阈值(默认15s),大于时nacos会认为当前服务处于不健康的状态;当nacos背后的系统时间减去最新一次的心跳时间大于30s,nacos会任务这个服务下线了,直接把他下线。