Nacos原理
1. 前言
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴推出的一个构建云原生应用的动态服务发现、配置管理和服务管理平台。一般与Dubbo一起使用,实现服务注册与发现和远程服务的RPC调用。
Nacos有三个显著的特点:
2. Nacos原理
- Provider APP:服务提供者
- Consumer APP:服务消费者
- Name Server:通过VIP(Virtual IP)或DNS的方式实现Nacos高可用集群的服务路由
- Nacos Server:Nacos服务提供者,里面包含的Open API是功能访问入口,Conig - Service、Naming Service 是Nacos提供的配置服务、命名服务模块。Consitency Protocol是一致性协议,用来实现Nacos集群节点的数据同步,这里使用的是Raft算法(Etcd、Redis哨兵选举)
- Nacos Console:控制台
其中Provider和Consumer是服务的提供者与消费者,提供者在Nacos上注册服务,消费者在Nacos订阅服务,
2.1 注册中心原理★
- 服务实例在启动时注册到服务注册表,并在关闭时注销。
- 服务消费者查询服务注册表,获得可用实例。
- 服务注册中心需要调用服务实例的健康检查API来验证它是否能够处理请求。
服务注册的策略的是每5秒向nacos server发送一次心跳,心跳带上了服务名,服务ip,服务端口等信息。同时 nacos server也会向client 主动发起健康检查,支持tcp/http检查。如果15秒内无心跳且健康检查失败则认为实例不健康,如果30秒内健康检查失败则剔除实例。
2.2 配置中心原理
Nacos作为配置中心的原理如图所示:
3. 参考链接
https://blog.csdn.net/cold___play/article/details/108032204
https://www.jianshu.com/p/39ade28c150d