1、zookeeper和eureka的区别在哪?
Zookeeper 遵守CP原则,要保证数据的一致性,在读取数据的时候,要先与master节点同步一下数据,但是一旦master节点因为网络故障与其他节点失去联系时,剩余节点要重新进行选举,问题在于,选举期间整个zookeeper集群都是不可用的,就会导致在选举期间注册服务不可用。
Eureka遵守AP原则,要优先保证可用性,Eureka各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,只要有一台Eureka还在,就能保证注册服务可用,只不过查到的信息可能不是最新的。
6 什么是服务续约
在注册服务完成以后,服务提供者会维持一个心跳 (每30s定时向Eurek发起请求), 告诉Eureka:“我还活着;
7 什么是失效剔除
有些时候,我们的服务提供方并不一定会正常下线,可能因为内存溢出、网络故障等原因导致服务无法正常工作。Eureka Server需要将这样的服务剔除出服务列表。
因此它会开启一个定时任务,每隔60秒对所有失效的服务(超过90秒未响应)进行剔除。
8 什么是自我保护
当一个服务未按时进行心跳续约时,在生产环境下,因为网络延迟等原因,此时就把服务剔除列表并不妥当,因为服务可能没有宕机。
Eureka就会把当前实例的注册信息保护起来,不予剔除。生产环境下这很有效,保证了大多数服务依然可用。