Zookeeper:
CP设计(强⼀致性),
⽬标是⼀个分布式的协调系统,⽤于进⾏资源的统⼀管理。
当节点crash后,需要进⾏leader的选举,在这个期间内,zk服务是不可⽤的。
eureka:
AP设计(高可用),⽬标是⼀个服务注册发现系统,专⻔⽤于微服务的服务发现注册。
Eureka各个节点都是平等的,⼏个节点挂掉不会影响正常节点的⼯作,剩余的节点依然可以提供注册和查询服务。⽽
Eureka的客户端在向某个Eureka注册时如果发现连接失败,会⾃动切换⾄其他节点
,只要有⼀台Eureka还在,就能保证注册服务可⽤(
保证可⽤性
),只不过查到的信息可能不是最新的(
不保证强⼀致性
)
同时当eureka的服务端发现85%以上的服务都没有⼼跳的话,它就会认为⾃⼰的⽹络出了问题,就
不会从服务列表中删除这些失去⼼跳的服务
,同时eureka的客户端也会缓存服务信息。eureka对于服务注册发现来说是⾮常好的选择。