Eureka的原理

1.消费者该如何获取服务提供者具体信息?

  • 服务提供者启动时向eureka注册自己的信息
  • eureka保存这些信息
  • 消费者根据服务名称向eureka拉取提供者信息

2.如果有多个服务提供者,消费者该如何选择?

  • 服务消费者利用负载均衡算法,从服务列表中挑选一个

3.消费者如何感知服务提供者健康状态?

  • 服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态
  • eureka会更新记录服务列表信息,心跳不正常会被剔除
  • 消费者就可以拉取到最新的信息

4.在Eureka架构中,微服务角色有两类

EurekaServer:服务端,注册中心

  • 记录服务信息
  • 心跳监控

EurekaClient:客户端

  • Provider:服务提供者
    • 注册自己的信息到EurekaServer
    • 每隔30秒向EurekaServer发送心跳
  • consumer:服务消费者
    • 根据服务名称从EurekaServer拉取服务列表
    • 基于服务列表做负载均衡,选中一个微服务后发起远程调用

注意:一个微服务,既可以是服务提供者,又可以是服务消费者,因此eureka将服务注册、服务发现等功能统一封装到了eureka-client端

5.总结

Eureka的原理_第1张图片

        eureka注册中心,分为服务端和客户端,服务端主要是记录服务信息和检测心跳,而客户端其实是每一个使用eureka的微服务,他们只要使用了eureka,自己也就成了一个个的客户端,他们会将自己的信息注册到服务端,并且会每隔30秒向服务段发送自己的心跳,当需要访问其他服务时,会到服务端通过服务名称进行拉取,如果拉取过来是一个集群,那么会根据相应的负载均衡算法选择一个服务进行访问。

你可能感兴趣的:(SpringCloud,eureka,云原生)