Zookeeper是最早流行的开源分布式协调服务框架之一,同时也提供了分布式配置中心的功能。Zookeeper以高可用、一致性和可靠性著称,但是需要用户自己来开发实现分布式配置的功能。
Eureka是Netflix开源的服务注册中心,被广泛应用在Spring Cloud微服务架构中。它提供了易于使用的REST API和Web界面,并支持基于Region和Zone的服务分组和负载均衡。
设计哲学:
性能:
客户端交互:
以上是主要区别,还有些其他区别如下:
Eureka | Zookeeper | |
---|---|---|
CAP | AP | CP |
健康检查 | Client Beat | Keep Alive |
负载均衡 | Ribbon | — |
一致性算法 | Gossip | ZAB |
雪崩保护 | 有 | 无 |
访问协议 | HTTP | TCP |
Spring Cloud集成 | 支持 | 支持 |
Dubbo集成 | 不支持 | 支持 |
K8s集成 | 不支持 | 支持 |
说这么多,该怎么选择呢?
建议"专业的事,交给专业的人做",Eureka是专门做注册中心的,所以他的各种保护机制、一致性保证、监控等都会更加专注一些。