一、eureka
1.eureka的作用
2.eureka工作流程
1. 服务提供者和服务消费者向注册中心注册服务信息,然后注册中心记录了对应的服务器地址。
2. 服务消费者从注册中心拉取服务提供者的信息。
3. 通过负载均衡找到对应的服务提供者地址。
4. 服务消费者远程调用对应的服务提供者。
5. 其中,每个微服务都需要向注册中心定期发送心跳,防止服务宕机却不知道。
二、nacos
1.nacos的作用
三、面试题及回答
面试官:服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?
候选人:我理解的是主要三块大功能,分别是服务注册 、服务发现、服务状态监控。
我们当时项目采用的eureka作为注册中心,这个也是spring cloud体系中的一个核心组件。
服务注册:服务提供者需要把自己的信息注册到eureka,由eureka来保存这些信息,比如服务名称、ip、端口等等。
服务发现:消费者向eureka拉取服务列表信息,如果服务提供者有集群,则消费者会利用负载均衡算法,选择一个发起调用。
服务监控:服务提供者会每隔30秒向eureka发送心跳,报告健康状态,如果eureka服务90秒没接收到心跳,从eureka中剔除。
面试官:我看你之前也用过nacos、你能说下nacos与eureka的区别?
候选人:我们当时xx项目就是采用的nacos作为注册中心,选择nacos还要一个重要原因就是它支持配置中心,不过nacos作为注册中心,也比eureka要方便好用一些,主要相同不同点在于几点:
-
共同点
Nacos与eureka都支持服务注册和服务拉取,都支持服务提供者心跳方式做健康检测。
-
Nacos与Eureka的区别
①Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
②临时实例心跳不正常会被剔除,非临时实例则不会被剔除。
③Nacos支持服务列表变更的消息推送模式,服务列表更新更及时。
④Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。