> 文章列表 > nacos学习思路

nacos学习思路

nacos学习思路

1.核心概念:Namespace,group,service,cluster,instance

2.注册表结构:其实是一个双层map。map的key为Namespace,Value为Map。内层的Map的key为Group::ServiceName,value为Service对象。Service对象中也有一个map的数据结构。其中

    key值为cluster的名字,value为cluster对象,cluster对象中有两个Set这的数据结构,用来存储Instance,这个Instacne才是真正的客户端注册过来的信息。

    这里有两个set,一个存储持久化实例,一个存储临时实例。这个是客户端发起注册时带过来的参数。默认情况下为true,临时实例。

3.Nacos client和Srping cloud集成。

    客户端注册:一个post请求嘛

        客户端服务发现:主要还是发送一个请求后拉取。注意一点:有一个定时任务的调用,定时10s拉取一次服务

4.如何支持高并发注册:采用内存队列的方式进行服务注册,也就是说客户端不是直接把自己的信息注册到Nacos Server的时候,并不是同步吧信息注册到注册表中,而是采取了内存队列的方式

    ,采用独立的线程池来消费队列进行注册的。

5.注册表如何防止多节点读写并发冲突:Copy On Write思想

6.心跳机制与服务检查设计原理及源码剖析:心跳检测,默认15s。如果发现Instance中的lastBeat的时间与当前时间比对,小于15s就判断实例为不健康状态,将healthy改为false后,发布一个

服务变事件,再