SpringCloud 面试题, 什么是 Eureka?
SpringCloud 面试题, 什么是 Eureka?
QA
Step 1
Q:: 什么是Eureka?
A:: Eureka 是 Netflix 开源的服务发现工具,是 Spring Cloud 微服务架构中重要的组件之一。它通过注册中心的方式实现服务的注册与发现。Eureka Server 作为服务注册中心,存储了所有客户端服务实例的注册信息。Eureka Client 可以向 Eureka Server 注册其自身服务实例,并通过它查找其他服务实例以便进行服务调用。
Step 2
Q:: Eureka 的工作原理是什么?
A:: Eureka 的工作原理基于客户端和服务器的交互。服务启动时会将自身信息注册到 Eureka Server,Eureka Server 会存储这些信息,并定期从注册表中清除过期服务。Eureka Client 在启动时会从 Eureka Server 获取其他可用服务的地址列表,并将自身的信息定期发送给 Eureka Server 以续租,保证其服务信息的有效性。
Step 3
Q:: Eureka 的自我保护机制是什么?
A:: Eureka 的自我保护机制用于防止过多的服务实例被误判为不可用。在网络分区或其他异常情况下,如果 Eureka Server 在短时间内丢失了大量客户端实例的心跳,Eureka 不会立即将这些服务实例从注册表中剔除,而是进入自我保护模式,继续提供原有的服务信息。这保证了在某些情况下,服务仍然可以被调用,即使网络出现问题。
Step 4
Q:: 如何配置 Eureka 集群?
A:: 配置 Eureka 集群主要涉及多个 Eureka Server 的搭建和相互注册。每个 Eureka Server 实例在配置文件中设置其 peers,即其他 Eureka Server 的地址,实现相互同步。当一个服务实例向某个 Eureka Server 注册时,这些信息会被同步到整个集群中,以便其他 Eureka Server 可以知晓所有的服务实例。
Step 5
Q:: Eureka 和其他服务发现工具相比有什么优势?
A:: Eureka 具备的优势包括其在大规模服务部署中的稳定性、自我保护机制的健壮性、与 Spring Cloud 的无缝集成以及易于使用和配置的特性。此外,Eureka 在网络分区情况下的自我保护机制能够保证服务的高可用性,而其他工具如 Consul 或者 Zookeeper 可能需要更多的配置和管理。