中国交通建设监理协会网站打不开,价格低配置高的手机,杭州室内设计公司排行榜,做网站宿迁著名的CAP 理论指出#xff0c;一个分布式系统不可能同时满足 C( 一致性 ) 、 A( 可用性 ) 和 P( 分区容错性 ) 。 由于分区容错性在是分布式系统中必须要保证的#xff0c;因此我们只能在 A 和 C 之间进行权衡#xff0c;在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP… 著名的CAP 理论指出一个分布式系统不可能同时满足 C( 一致性 ) 、 A( 可用性 ) 和 P( 分区容错性 ) 。 由于分区容错性在是分布式系统中必须要保证的因此我们只能在 A 和 C 之间进行权衡在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP 。 Zookeeper保证数据一致性和分区容错性 在ZooKeeper 中当 master 节点因为网络故障与其他节点失去联系时剩余节点会重新进行 leader 选举但是问题在于选举 leader 需要一定时间 , 且选举期间整个 ZooKeeper 集群都是不可用 的这就导致在选举期间注册服务瘫痪。在云部署的环境下因网络问题使得 ZooKeeper 集群失去 master 节点是大概率事件虽然服务最终能够恢复但是在选举时间内导致服务注册长期不可用是难以容忍的。 Eureka保证可用性和分区容错性 Eureka优先保证可用性 Eureka 各个节点是平等的某几个节点挂掉不会影响正常节点的工作 剩余的节点依然可以提供注册和查询服务。而Eureka 的客户端在向某个 Eureka 注册或时如果发现连接 失败则会自动切换至其它节点只要有一台Eureka 还在就能保证注册服务可用 ( 保证可用性 ) 只不 过查到的信息可能不是最新的( 不保证强一致性 ) 。 所以Eureka 在网络故障导致部分节点失去联系的情况下只要有一个节点可用那么注册和查询服务就 可以正常使用而不会像zookeeper 那样使整个注册服务瘫痪 Eureka 优先保证了可用性。 总结
Eureka会造成短暂的数据不一致性这是可以容忍的但是zookeeper在主服务器down的时候要选取新的主服务器造成的时间导致服务注册长期不可用时难以容忍的所以推荐使用Eureka再加上Eureka集成Spring Cloud是十分方便的所以推荐大家使用Eureka作为服务注册中心。