RDBMS==>(MySql,Oracle,SqlServer等关系型数据库)遵循的原则是:ACID原则(A:原子性。C:一致性。I:独立性。D:持久性。)。

NoSql==>    (redis,Mogodb等非关系型数据库)遵循的原则是:CAP原则(C:强一致性。A:可用性。P:分区容错性)。

CAP理论也就是说在分布式存储系统中,最多只能实现以上两点。而由于当前网络延迟故障会导致丢包等问题,所以我们分区容错性是必须实现的。也就是NoSqL数据库P肯定要有,我们只能在一致性和可用性中进行选择,没有Nosql数据库能同时保证三点。(==>AP 或者 CP)

 

Eureka和zookeeper进行比较

分布式基础:CAP理论(C:数据一致性。(Consistency)A:服务可用性。(Availability)P:分区容错性(Partition tolerance))

zookeeper主要保证CP特性

 

 

Eureka主要保证AP特性

 

 

Zookeeper的设计理念就是分布式协调服务,保证数据(配置数据,状态数据)在多个服务系统之间保证一致性,这也不难看出Zookeeper是属于CP特性(Zookeeper的核心算法是Zab,保证分布式系统下,数据如何在多个服务之间保证数据同步)。Eureka是吸取Zookeeper问题的经验,先保证可用性。

 

Eureka为什么注册慢?

Eureka注册慢的根本原因是在于Eureka要保证AP特性

Eureka client 延迟注册,默认30秒

Eureka server的响应缓存,默认30秒

Eureka server的缓存刷新,默认30秒

最极端最慢是90秒

 

Eureka的自我保护

Eureka server会自动更新续约更新阀值

Eureka server续约更新频率低于阀值则进入保护模式

自我保护模式下Eureka server不会剔除任何注册信息

 

posted on 2020-04-27 14:38  袁子弹  阅读(315)  评论(0编辑  收藏  举报