springCloud----Eureka ACP

1.ACP简介

A:可用性(availability),任何一个没有发生故障的节点,都会在合理的时间内返回一个正常的结果。
C:一致性(Consistency),每次读操作都能保证返回最新数据。
P:分区容忍性(Patition-tolerate) ,当节点间出现网络分区时,照样可以提供服务。
在分布式系统中,ACP只能三选二,没有任何分布式架构三种都能满足。

2.eureka保证ap

eureka是所有服务平等,只要有一个服务存活就能保证整个网络使用。
当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟之前的注册信息,但不能接受服务直接down掉不可用。也就是说,服务注册功能对可用性的要求要高于一致性。

3.zookeeper保证cp

zk服务宕机会有一段时间选举master导致整个系统无法使用。
zookeeper中,当master节点因为网络故障出现问题时,剩余节点会重新进行leader选举。问题在于选择leader的时间过长,大约是30s~120s,且选举期间整个zk集群都是不可用的,这样就导致在选举期间注册服务瘫痪。所以,zookeeper保证的是一致性。

4.总结

Eureka是zookeeper之后出现的,它看到了zookeeper的这个缺点,所以在设计的时候就优先保证可用性。Eureka的各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册与查询服务。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章