利用事件监听接口
源码总结:
nacos是一个由spring boot web编写的消息服务中间件,暴露了一些指定接口来,通过调用我们的指定接口来完成服务的注册等功能
这里首先展示nacos主要流程
核心Controller 方法
通过请求类型来完成实例的增删改查
通过双层Map的方式存放所有注册的实例信息 其中主要使用到定时线程池启动后5秒后每隔5秒开始检测服务是否下线等等逻辑,nacos默认注册临时节点
两个方法:一个生产临时节点一个生产持久化节点
双层Map负责存储服务实例数据 部署一个Nacos可以同时支持众多环境的服务注册功能 可以用map最外层的Key来区别
nacos为了防止服务注册时多重读写 用到了单线程,copyOnWrite思想写副本 ,修改和读数据分开 ,提高高并发性,对实时性有一些妥协,但是影响不大
优雅的双层锁代码设计 不得不说阅读nacos的源码是一种享受