Eureka简介以及工做原来

1.Eureka简介

Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。
复制代码

官方架构图

2. Eureka基本原来

上图是来自官网的架构图,是基于集群配置的Eureka:
复制代码
  • 处于不一样的Eureka Server节点是经过Replicate完成数据同步的html

  • Application Service为服务提供者缓存

  • Application Client为服务消费者网络

  • Make Remote Call为完成一次服务调用过程架构

    当服务启动时想Eureka注册,Eureka Service会将注册的服务信息同步到其余的Eureka Service。当服务消费者调用服务时,会向Eureka Service获取服务提供者的地址,并缓存到本地,下次调用时直接从本地获取服务提供者的地址,并完成一次调用。 当注册中心检查到服务提供者因网络不通,宕机等缘由不可用时,注册中心会把该服务标记为down状态,并把改服务不可用状态向服务消费者(订阅者)发送,服务消费者更新本地缓存。 服务提供者启动后,会周期(默认30秒)向Eureka Server发送心跳,以证实服务可用,若是Eureka Server超过必定时间(默认90秒)没有收到心跳消息,则任务服务宕机,注销改服务实例。微服务

3.Eureka的自我保护机制

在默认配置中,Eureka Server在默认90s没有获得客户端的心跳,则注销该实例,可是每每由于微服务跨进程调用,网络通讯每每会面临着各类问题,好比微服务状态正常,可是由于网络分区故障时,Eureka Server注销服务实例则会让大部分微服务不可用,这很危险,由于服务明明没有问题。

为了解决这个问题,Eureka 有自我保护机制,经过在Eureka Server配置以下参数,可启动保护机制:
eureka.server.enable-self-preservation=true

它的原理是,当Eureka Server节点在短期内丢失过多的客户端时(可能发送了网络故障),那么这个节点将进入自我保护模式,再也不注销任何微服务,当网络故障回复后,该节点会自动退出自我保护模式。
自我保护模式的架构哲学是宁肯放过一个,决不可错杀一千
复制代码

转载:www.cnblogs.com/snowjeblog/…工具

相关文章
相关标签/搜索