Nacos
Nacos读作{纳扣死},这个名字来源于 “Dynamic Naming and Configuration Service”。 其中na取自“Naming”的前两个字母,co取自“Configuration”的前两个字母,而s则取自“Service”的首字母。
作用和运作
- 服务实例启动将自身注册到Nacos注册中心,随后维持与注册中心的心跳;
- 心跳维持策略为每5秒向Nacos Server发送一次心跳,并携带实例信息(服务名、实例IP、端口等);
- Nacos Server也会向Client主动发起健康检查,支持TCP/Http;
- 15秒内无心跳且健康检查失败则认为实例不健康,如果30秒内健康检查失败则剔除实例;
- 服务消费者通过注册中心获取实例,并发起调用;
服务发现支持两种场景:
- 服务消费者直接向注册中心发送获取某服务实例的请求,注册中心返回所有可用实例,但一般不推荐此种方式;
- 服务消费者向注册中心订阅某服务,并提交一个监听器,当注册中心中服务发生变化时,监听器会收到通知,消费者更新本地服务实例列表,以保证所有的服务均可用。
Nacos和Eureka的比较
- Eureka2.0闭源了,同时推送的服务列表数据更简单,1.0还有点bug
- Nacos更好用