面试题:什么是 Eureka?

Eureka 是 Netflix 开源的服务发现组件,主要用于微服务架构中的服务注册与发现。Spring Cloud 将其集成,作为服务发现的核心工具之一。

主要功能

  1. 服务注册:微服务启动时,向 Eureka 服务器注册自己的信息,如 IP、端口等。
  2. 服务发现:客户端通过 Eureka 查找并调用其他服务,无需硬编码服务地址。
  3. 健康检查:Eureka 定期检查注册服务的健康状态,自动移除不可用服务。
  4. 负载均衡:结合 Ribbon 等工具,Eureka 支持客户端负载均衡。

核心组件

  1. Eureka Server:服务注册中心,管理所有注册的服务实例。
  2. Eureka Client:微服务中的客户端,负责注册和发现服务。

工作原理

  1. 服务注册:微服务启动时,向 Eureka Server 发送注册请求。
  2. 心跳机制:客户端定期发送心跳,维持注册状态。
  3. 服务发现:客户端从 Eureka Server 获取服务实例列表,进行调用。
  4. 服务剔除:若服务实例长时间未发送心跳,Eureka Server 会将其从注册表中移除。

配置示例

Eureka Server 配置

server:
  port: 8761

eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

Eureka Client 配置

spring:
  application:
    name: my-service

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

优点

  • 简化服务发现:客户端无需硬编码服务地址。
  • 高可用:支持多节点部署,提升系统可用性。
  • 动态扩展:新服务实例可动态加入,旧实例自动移除。

缺点

  • 性能瓶颈:服务实例过多时,Eureka Server 可能成为性能瓶颈。
  • 复杂性:需额外维护 Eureka Server,增加系统复杂性。

总结

Eureka 是 Spring Cloud 生态中的重要组件,简化了微服务架构中的服务发现与注册,提升了系统的灵活性和可扩展性。

THE END
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容