一、微服务

1.1 Spring Cloud五大组件

  • 注册中心 Nacos
  • 负载均衡 Ribbon
  • 远程调用 Feign
  • 服务保护 sentinel
  • 网关 Gateway

1.2 Spring Cloud 如何实现服务注册发现

注册中心核心作用是:服务注册与发现
注册中心会保存 服务名称 ip 端口等

  • 服务注册:服务启动时,将服务信息注册到注册中心
  • 服务提供者:
    • 临时实例(默认):服务注册时,将服务信息注册到注册中心,服务提供者向nacos发送心跳,服务停止时,将服务信息从注册中心删除
    • 永久实例:服务注册时,将服务信息注册到注册中心,nacos主档询问是否健康,若非健康状态也不会剔除,除非手动注销或者nacos重启
  • 服务消费者:
    • 定时拉取服务(Pull):服务消费者定时从注册中心拉取服务信息
    • 主动推送服务(Push):若服务提供者信息发生变更,注册中心会主动推送给服务消费者
  • nacos集群默认采用AP模式(最终一致性),当集群存在非临时实例是,采用CP模式(强一致性)
  • nacos还有配置中心

有一台服务中心挂了?

心跳续约机制:每30秒一次,由服务端向注册中心发送心跳,注册中心会定时检查服务端的状态,如果服务端90秒内没有发送心跳,则将服务从注册中心中移除。

1.3 负载均衡是如何实现的