Eureka和Nacos在服务注册与发现方面的主要区别体现在以下两个方面
1. 服务提供者的健康检测
Eureka
- Eureka对服务提供者是每30秒一次心跳检测来检查服务健康。
Nacos
- Nacos把服务分为临时服务与非临时服务,对于临时服务,Nacos采取策略与Eureka相同。
- 对于非临时服务,Nacos不会对其进行心跳检测,而是会主动调用该服务查看是否正常,若不正常会把该服务标记为不健康,不会把该服务从服务列表中移除。
2. 获取服务信息方式
Eureka
- Eureka会定时向注册中心拉去服务,如果不主动拉去服务,注册中心不会主动推送。
Nacos
- Nacos集群默认采用AP方式, 当集群中存在非临时实列时,采用CP模式。
- Eureka 采用AP方式。
- Nacos注册中心会定时向消费者主动推送信息,这样会保证数据的准时性
总结,Eureka和Nacos在服务注册与发现方面各有特点。Eureka主要是通过心跳检测来维护服务提供者的健康状态,而Nacos则将服务分为临时和非临时两类进行不同的健康检测策略。在获取服务信息方面,Eureka需要定时拉取注册中心的服务列表。 而Nacos则是主动向消费者推送消息。