区别
著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性),A(可用性),P(分区容忍性),而分区容错性在分布式系统中是必须的要保证的,因此我们只能在A与C之间进行权衡。
- Zookeeper保证的是CP;
- Eureka保证的是AP;
为什么呢?
Zookeeper的选举机制会在集群中的一个或者多个节点失去连接时,重新进行leader选举,但是,在选出新的leader之前,服务处于一种不可用的状态,并且这段时间不可控制,属于一种为了保证一致性
牺牲了可用性
的方案。
Eureka的各个节点平等,任何一个节点或者多个和节点失去连接时,都会马上切换到剩余的可用节点上,但是,由于没有leader,所查询到的信息可能不是最新的信息。
结论
一般web项目选择Eureka的居多,毕竟维持服务的可用性是最重要的。
读后有收获可以微信请作者喝咖啡: