一、什么是Nacos
一个易于构建云原生应用的服务发现(Nacos Discovery)、服务配置(Nacos config)和服务管理平台
注册中心 + 配置中心 + 服务管理
Nacos 的关键特性:
1、服务发现和服务健康检测
2、动态配置服务
3、动态DNS服务
4、服务及其元数据管理
二、Nacos 注册中心
核心功能:
1、服务注册
Nacos Client 会通过发送 REST 请求的方式向 Nacos Server 注册自己的服务,提供自身的元数据,比如ip地址,端口信息等,Nacos Server 收到注册请求后,就会把这些元数据信息存储在一个双层 Map 中。
2、服务心跳
在服务注册后,Nacos Client 会维护一个定时心跳来持续通知 Nacos Server ,说明服务一直处于可用状态,防止被剔除,默认 5s 发送一次心跳。
3、服务同步
Nacos Server 集群之间会同步服务实例,用来保证服务信息的一致性。
4、服务发现
服务消费者(Nacos Client)在调用服务提供着的服务时,会发送一个REST请求给 Nacos Server,获取上面注册的服务清单,并且缓存在 Nacos Client本地,同时会在Nacos Client本地开启一个定时任务拉取服务端最新的注册表消息更新到本地缓存。
5、服务健康检查
Nacos Server 会开启一个定时任务用来检查注册服务实例的健康情况,对于超过15s没有收到客户端心跳的实例会将它的healthy属性设置为false(客户端服务发现时不会发现),如果某个实例超过30s没有收到心跳,直接剔除该实例(被剔除的实例如果恢复发送心跳则会重新注册)。
主流的注册中心
CAP, C – 一致性,A – 可用性,P – 分区容错性