• eureka 客户端会在启动时,从eureka server抓取全量注册表到本地
  • eureka server的维护了一个注册表多级缓存,所有外部对eureka server的注册表查询都会走这个缓存机制。这个二级缓存有30秒的同步间隔,也就意味着服务注册、下线、取消、状态变更,可能得等30秒才能生效

  • eureka client会每隔30秒,从eureka server抓取增量注册表,这个增量注册表也是放到注册表缓存里的

  • eureka client和eureka server之间通过心跳机制来完成健康检查

  • 当eureka server发现最近1分钟内有低于85%的服务实例心跳成功,就会将自己置为自我保护模式。这个模式下,eureka server不会剔除过期服务实例。由于实现代码的问题,导致我么生产环境要么不用自我保护机制,要么就不能调整心跳时间间隔。

  • 当eureka server不在自我保护模式时,会每隔1分钟,自动剔除最近3分钟内没有发送心跳的服务实例

  • eureka 集群节点之间是首次全量不同注册表,随后服务实例的变更是通过异步批量复制的,每当服务注册、下线、取消、状态变更时,会把这种动作通过三层队列机制,最终一次发送一批的方式同步到其他eureka 节点

eureka核心机制总结 (3)

Comments