Spring Cloud核心组件

1、Spring Cloud核心组件:Eureka
2、Ribbon:Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到服务均衡的作用。
3、Fegin:
Fegin的关键机制是使用了动态代理
1)、首先,对某个接口定义了@FeginClient注解,Fegin就会针对这个接口创建一个动态代理
2)、接着调用接口的时候,本质就是调用Fegin创建的动态代理
3)、Fegin的动态代理会根据在接口上的@RequestMapping等注解,来动态构造要请求的服务的地址
4)、针对这个地址,发起请求、解析响应

Fegin是和Ribbon以及Eureka紧密协作的
1)、首先Ribbon会从Eureka Client里获取到对应的服务注册表,也就知道了所有的服务都部署在了哪些机器上,在监听哪些端口
2)、然后Ribbon就可以使用默认的Round Robin算法,从中选择一台机器
3)、Fegin就会针对这台机器,构造并发起请求
4、Hystrix:Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能,Hystrix使用舱壁模式实现线程池的隔离,它会为每一个依赖服务创建一个独立的线程池,这样就算某个依赖服务出现延迟过高的情况,也只是对该依赖服务的调用产生影响,而不会拖慢其他的依赖服务。
5、Zuul:Spring Cloud Zuul通过与Spring Cloud Eureka进行整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有其他微服务的实例信息,对于路由规则的维护,Zuul默认会将通过以服务名作为ContextPath的方式来创建路由映射。
Zuul提供了一套过滤器机制,可以支持在API网关无附上进行统一调用来对微服务接口做前置过滤,已实现对微服务接口的拦截和校验。

posted @ 2022-10-09 14:37  倔强的老铁  阅读(160)  评论(0编辑  收藏  举报