Nacos, Eureka, Zookeeper都是服务发现和配置管理的工具,但是它们之间有一些区别:
Nacos
设计目标是以更简单的方式来实现服务发现和配置管理。
支持服务发现和服务元数据的注册与发现。
支持DNS-based服务发现。
支持RPC和服务间调用。
支持配置的动态更新。
支持集群部署和高可用。
Eureka
是Netflix开源的一款提供服务注册和发现的产品。
设计思路是AP(可用性和分区容忍性)。
不支持配置的动态更新。
支持集群部署和高可用。
Zookeeper
是Apache的一个开源项目,是一个分布式的,开放源码的分布式应用程序协调服务。
设计目标是为分布式应用提供一个高性能、高可用的分布式协调服务。
主要是通过观察者模式来通知变化。
设计思路是CP(一致性和分区容忍性)。
不支持服务的DNS-based服务发现。
支持配置的动态更新。
总结:
Nacos更倾向于成为一个全能的服务,提供服务注册发现、配置管理等功能。
Eureka更倾向于单一职责,只提供服务注册发现的功能。
Zookeeper更倾向于作为一个协调服务,提供服务注册、配置管理和分布式锁等功能。