springCloud(Eureka feign hystrix Zuul)学习笔记

Eureka原理springCloud(Eureka feign hystrix Zuul)学习笔记_第1张图片

其中:

Eureka 服务注册组件

Region 类似于一个很多机房的一个集群

Availability Zon 类似于机房

springCloud(Eureka feign hystrix Zuul)学习笔记_第2张图片

我的理解如下

  EUREKA 是一个不同微服务注册的组建。不同的微服务可以注册到一个EurekaServer 上。 注册在EurekaServer上的每个微服务也就成了EurekaClient即Eureka客户端。是Eureka Server 和Eureka Client 均需要在springboot的启动类上注解说明。
   不同的Eureka Server可以相互注册,来形成Eureka集群,之间的注册表信息是同步更新的。 客户端通过心跳方式来更新Eureca中的注册表信息(默认30s),以及自己缓存中的注册表信息。 默认90s收不到微服务的心跳,会注销掉该微服务。

Eureka的高可用性原因如下

   因为Eureka Server 默认90s收不到Client的信息会自动注销掉该微服务,那么就有可能会有客户端正常, Eureka Server 网络分区故障导致收不到心跳消息,导致注册中的Cliet均被删除, 自我保护机制就是当在短时间丢失过多客户端,会自动进入保护模式,进入保护模式以后会保护注册表中的所有信息,等网络分区故障恢复以后自动推出自我保护模式。

Eureka的多网卡ip选择

1 忽略指定网卡

springCloud(Eureka feign hystrix Zuul)学习笔记_第3张图片

2 正则表达式指定ip

springCloud(Eureka feign hystrix Zuul)学习笔记_第4张图片

3 手动指定ip

springCloud(Eureka feign hystrix Zuul)学习笔记_第5张图片

设置健康检查为true则会强制使用站点本地地址 如下

springCloud(Eureka feign hystrix Zuul)学习笔记_第6张图片

Eureka 的自我检查 通过请求/health节点来查看健康状况

springCloud(Eureka feign hystrix Zuul)学习笔记_第7张图片
   不同微服务之间负载均衡,既可以结合Eureka 也可以脱离Eureka结合Eureka 各微服务注册在Eureka,Ribbon也注册在Eureka Server 请求时候先从Eureka Server 查询可用服务列表,然后实现负载均衡

二、Feign 声明式REST调用

我的理解

Feign实际上是编写一个feign接口,,指定 访问的微服务,,,在接口里面写对应的请求,然后就可以在controller中直接调用feign的方法请求,简化了不同服务间的请求。

三、Hystrix 断路器

原理图
springCloud(Eureka feign hystrix Zuul)学习笔记_第8张图片保护机制如下

  • 保护机制1
    正常情况下,断路器关闭,可以正常的请求依赖的服务,当一段时间请求的失败率达到一定的阈值的时候(错误率达到50%100,或者100次/分钟)断路器就会断开,此时就不会再去请求依赖的服务
  • 保护机制2
    断路器断开以后一定时间,会进入半开状态,此时断路器运行一个请求访问依赖的服务,如果访问成功,断路器闭合,否置继续保持打开状态

我的理解

  就像家中的断路保护器,默认5s20次失败会断开,通过Actuator监控/health 可以知道断路器的工作状态

三、Zuul网关

springCloud(Eureka feign hystrix Zuul)学习笔记_第9张图片

你可能感兴趣的:(JAVA)