MST

星途 面试题库

面试题:微服务架构下Spring Cloud集群状态管理策略之中等题

在Spring Cloud微服务架构中,Eureka作为服务注册中心,当网络分区发生时,Eureka如何维持集群状态以保证服务的正常发现与注册?请简要描述其机制。
26.2万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试
  1. Eureka的自我保护机制
    • 原理:Eureka Server在运行期间,会统计心跳失败的比例在15分钟内是否超过85%,如果超过,Eureka Server会进入自我保护模式。
    • 作用:在网络分区场景下,可能部分节点之间无法正常通信,导致Eureka Server收不到某些服务实例的心跳。进入自我保护模式后,Eureka Server不会立即剔除这些服务实例,而是继续保留其注册信息,这样其他服务仍然可以从Eureka Server获取到这些服务的注册信息,从而保证服务的正常发现。例如,在一个微服务集群中,由于网络故障,部分服务实例与Eureka Server的通信中断,但Eureka Server不会马上将这些实例从注册表中删除,使得其他服务调用方仍能根据注册表信息尝试调用这些服务。
  2. Eureka的对等节点复制机制
    • 原理:Eureka Server集群中的每个节点都是对等的,它们之间通过相互复制注册表信息来保持数据一致性。当一个Eureka Server节点接收到服务注册、心跳等信息时,会将这些信息同步给集群中的其他节点。
    • 作用:在网络分区情况下,虽然部分节点间网络不通,但在每个网络分区内部的Eureka Server节点仍能通过内部的复制机制,保持本分区内节点间注册表信息的一致性。例如,假设网络分成A、B两个分区,A分区内的Eureka Server节点会在分区内部同步服务注册信息,使得A分区内的服务可以正常注册和发现;同样,B分区内也如此。当网络恢复后,不同分区的Eureka Server节点又可以重新进行信息同步,恢复整个集群的一致性。