Eureka 基础

164 阅读1分钟

下一篇:Spring Cloud Eureka Server

在没有特殊说明的情况下,我们常说的 eureka 都指的是 server 端

Netflix Eureka

Eureka 是 Netflix 公司开发的,一个开源的基于 REST 服务的,服务注册与发现组件。它采用 C-S 架构,分为 client 端和 server 端

  • Eureka Server:提供服务注册和发现的能力
  • Eureka Client: 用于简化与 Eureka Server 的交互

Eureka 之间的相互识别

分布式架构中,每个微服务都需要注册到 Eureka Server 上,这些微服务之间如何相互识别呢,Eureka 提供了如下方法

  • 同步:每个 Eureka Server 同时也是 Eureka Client(在其他 Eureka Server 眼中),多个 Eureka Server 之间通过复制的方式完成服务注册表的同步,形成 Eureka 的高可用
  • 识别:Eureka Client 会缓存 Eureka Server 中的信息,即使所有 Eureka Server 节点都宕掉,服务消费者仍可使用缓存中的信息找到服务提供者
  • 续约:Eureka Client 会周期性(默认30s)地向 Eureka Server 发送心跳以 Renew(续约)
  • 续期:Eureka Server 会定期(默认60s)执行一次失效服务检测,它会将超过一定时间(默认90s)没有 Renew 的服务节点从服务注册表中移除

总结

Eureka 有以下特点

  • 开源
  • 基于REST的服务
  • 采用C-S的设计架构,分为 客户端 和 服务端
  • 服务注册采用心跳连接机制,客户端需要连接到Eureka Server并维持心跳