上图显示了SpringCloud常见组件在日常开发中的使用情况,下面按照流程介绍:
gateway在接到来自外部的请求的时候,会首先进行处理,gateway能做的事情很多,权限管理,负载均衡(通过rubbion),动态路由等。
0.gateway将请求转发给对应的服务A,
1.服务A中要调用服务B的服务,Feign依赖Ribbon做负载均衡.
2.Ribbon通过EurakeClient去EurakeServer获取服务列表
3.EurakeClient去EurakeServer获取服务列表
4.EurakeServer返回服务列表
5.Ribbon获得B服务的所有实例信息,根据算法策略选取其中一个服务的实例返给Feign
6.Ribbon返回选中的B服务的实例
7.Feign向Ribbon返回的B服务的实例发起请求
8.Hystrix收集请求的信息
9.Hystrix根据服务B响应的信息,对比设置的服务熔断和降级策略,符合则执行对服务进行熔断和降级
10.将返回信息返回给Feign
11.待整个服务A的流程处理完毕返回响应内容给网关,最终返回给用户
SpringCloud常用组件使之间的关系——Gateway Feign Hystrix Ribbon 使用详解
原文:https://www.cnblogs.com/yaochunhui/p/14685900.html