Spring Cloud-面试知识点(组件、注册中心)
1. Spring Cloud相关组件
① Eureka / Nacos / zookeeper 注册中心, 配置中心
② Feign 远程调用
③ Ribbon 负载均衡
④ Hystrix 服务熔断 (服务保护 sentinel)
⑤ Zuul / Gateway 网关
2. 注册中心
核心作用 : 服务注册和发现。常用的工具: eureka nacos zookeeper
2.1 以 eureka为例:
① 服务注册: 服务提供者需要把自己的信息注册到eureka中,如 服务名称、ip、端口等等
② 服务发现:消费者向eureka拉取服务列表信息,如果服务提供者有集群,则消费者会利用负载均衡算法选择一个发起调用
③ 服务监控:服务提供者会每隔30s向eureka发送心跳,报告健康状态。如果eureka连续90s未收到心跳信息,则认为服务宕机,会将服务从eureka中剔除。
2.2 nacos与eureka的比较
相同点:
① 都支持服务的注册和拉取
② 都支持服务提供者心跳方式做健康监测
不同点:
① Nacos支持服务端主动检测服务提供者的状态,临时实例采用心跳检测模式,非临时实例采用主动检测模式
② 临时实例心跳不正常会被剔除,非临时实例则不会剔除
③ Nacos支持服务列表变更的信息推送模式,服务列表更新更及时
④ Nacos 集群默认采用AP方式(高可用),当集群中存在非临时实例时,采用CP模式(强一致),Eureka采用AP方式
⑤ Nacos还支持了配置中心,eureka仅有注册中心