概述:
Eureka 服务注册服务发现,微服务治理核心组件
Zuul网关 ,对客户端或者前端请求分发,对外提供统一的访问入口,根据配置在进行请求分发,到最后的微服务。
Feign 多个微服务直接会互相调用,共同对外提供服务,为了减轻微服务之间调用复杂度,它是一款客户端http调用组件简化目前rest调用操作。
Hystrix 对调用进行容错控制加入一些调用延迟故障容错机制,通过依赖服务进行资源隔离组织某个依赖服务,通过fallback回滚机制,提升分布式可用性和稳定性。
Eureka 包含两个组件:Eureka server 和 Eureka client
提供了服务注册和服务发现
Eureka server会保存信息,保存Eureka client服务注册信息,Eureka client会向Eureka server发送原信息,它俩之间有一个定时心跳,目的是告诉server,我还存活可以对外提供服务。
这里的原信息,Eureka 使用一个两层的HashMap来管理原信息,第一层hashmap key是应用名称,第二层的HashMap key是实例的名称
Zuul大部分是过滤器来实现
pre filters 在请求之前调用 身份验证。。。
routing filters 构建发送微服务请求
post filters 微服务响应后 为响应添加 响应头,收集指标,将响应发送到客户端
error filters 发生错误时
custom filters 可以自定义过滤器
Ribbon和Feign存在的目的是什么?
为了解决微服务之间调用问题而出现的
Feign 是一款客户端Http调用组件,目前简化rest接口调用操作可以很方便的使用http接口像方法调用一样简单,使用它,是需要定义接口,并在接口上添加注解,消费者通过调用接口形势进行服务消费。
Hystrix
服务雪崩效应: 服务提供者的不可用导致服务消费者的不可用,并将不可用逐渐放大的过程最终导致系统服务瘫痪