CAP定理
CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(数据一致性)、 Availability(服务可用性)、Partition tolerance(分区容错性),三者不可兼得。CAP由Eric Brewer在2000年PODC会议上提出。该猜想在提出两年后被证明成立,成为我们熟知的CAP定理。
ZooKeeper | Eureka | 描述 | |
---|---|---|---|
CAP | CP | AP | zooKeeper分布式集群是使用主从模型实现,在一个时间点上,只有一个leader真正的对外提供服务,其他的follower都会实时备份leader中的数据,当leader宕机,则follower选举出新的leader对外提供服务 |
Eureka分布集群是平等模型(无主模型),所有节点都是平等的客户端访问任意节点都可以提供实时的服务响应,如果某个节点发生宕机等故障,接受到的请求会转发到其他的节点,无主模型,每个节点的数据可能不实时一致,节点需要通过网络通讯从其他节点获取数据,并实现数据一致,可能有网络延迟和网络故障或通讯频率问题。 | |||
Dubbo集成 | 支持 | -- | Dubbo 开发的时候不需要考虑注册中心选择 |
Spring Cloud集成 | 支持 | 支持 | Spring Cloud中推荐使用Eureka作为注册中心,Eureka是Spring Cloud 子项目Spring-cloud-netfix集成,是Spring Cloud中的一个组件,会有针对性的服务提供和发现组件 |
KV服务 | 支持 | -- | Zookeeper支持数据存储,Eureka不支持 |
使用接口 | 提供客户端 | http多语言 | Zookeeper的跨语言支持比较弱 |
Watch | 支持 | 支持 | 什么是Watch支持?就是客户端监听服务器端的变化情况。ZooKeeper通过订阅监听来实现,Eureka通过轮询的方式来实现 |
集群监控 | -- | metrics | metrics运维者可以收集并报警这些度量信息达到监控目的 |