SpringCloud调用接口流程
Spring Cloud调用接口过程
Spring Cloud 在接口调用上,大致会经过如下几个组件配合:
Feign
----->Hystrix
—>Ribbon
—>Http Client
(apache http components 或者 Okhttp)
具体交互流程上,如下图所示:
@FeignClient
注解修饰的接口时,在框架内部,将请求转换成Feign的请求实例feign.Request
,交由Feign框架处理。
(2)Feign :转化请求Feign是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,封装了Http调用流程。
(3)Hystrix:熔断处理机制 Feign的调用关系,会被Hystrix代理拦截,对每一个Feign调用请求,Hystrix都会将其包装成HystrixCommand
,参与Hystrix的流控和熔断规则。如果请求判断需要熔断,则Hystrix直接熔断,抛出异常或者使用FallbackFactory
返回熔断Fallback
结果;如果通过,则将调用请求传递给Ribbon
组件。
(4)Ribbon:服务地址选择 当请求传递到Ribbon
之后,Ribbon
会根据自身维护的服务列表,根据服务的服务质量,如平均响应时间,Load等,结合特定的规则,从列表中挑选合适的服务实例,选择好机器之后,然后将机器实例的信息请求传递给Http Client
客户端,HttpClient
客户端来执行真正的Http接口调用;
(5)HttpClient :Http客户端,真正执行Http调用根据上层Ribbon
传递过来的请求,已经指定了服务地址,则HttpClient开始执行真正的Http请求
SpringCloud调用接口流程相关推荐
- python 支付宝接口_python调用支付宝支付接口流程
项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公钥 2.应用公钥 3.应用私钥 4.APPID 5.Django 1.11. ...
- 常用的Java流程引擎API开发调用接口大全-工作流引擎设计
关键词: 工作流引擎 BPM系统 接口调用 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流 一.程序调用开发接口 二. 接口说明 所谓的驰骋工作流引擎的接口, ...
- retryexec.java 94_解决feign调用接口不稳定的问题
我就废话不多说了,大家还是直接看代码吧~ Caused by: java.net.SocketException: Software caused connection abort: recv fai ...
- 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo
更多微信技术交流,请加QQ群:289709451.287090836 前几章中我讲解了微信开发平台提供第三方平台的好处,和使用流程,如果你看了我的文章相信你对开放平台有了初步的了解,但是在实 ...
- 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战
目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...
- 什么是短网址?如何调用接口生成短地址?
随着网络应用的深入和普及,网址资源越来越少了,长尾网址也派上用场了,只是网址太长不方便识别与记录.因此,就有了短网址替代长网址的技术接口. 随着SEO的重要性越来越明显,在推广的时候如果把网页链接缩短 ...
- 使用js调用接口导出excel
使用js调用接口导出Excel 以下是使用JavaScript调用接口导出Excel文件的一般流程: 客户端向服务器发送请求,请求后端生成Excel文件: 服务器响应该请求,执行Excel生成操作,并 ...
- 淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口流程代码对接说明
淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口,天猫店铺发布API接口,oAuth2.0店铺发布接口,店铺商品API接口,店铺商品接口发布API接口流程代码对接说明: 公共参数 名称 类型 ...
- SpringCloud Gateway架构流程 和 内置的路由断言介绍
讲解SpringCloud Gateway架构流程 路由:是网关的基本单元,由ID.URI.一组Predicate.一组Filter组成,根据Predicate进行匹配转发 route组成部分 id: ...
最新文章
- python代码怎么运行-python代码是怎样运行的
- 2022 年营销自动化七大趋势前瞻
- resttemplate 请求重试_使用Spring Cloud Ribbon重试请求
- C语言程序练习-L1-023 输出GPLT (20分)
- 鼠标放到控件上 DIV悬浮提示效果(四种)
- JVM学习笔记二:JVM参数
- oracle输出查询返回多行,ORA-01427:单行子查询返回多行
- 使用identity+jwt保护你的webapi(一)——identity基础配置
- C# datetime 操作
- 作者:谢波峰(1976-),男,中国人民大学财政金融学院副教授,中国人民大学金融与财税电子化研究所执行所长。...
- Matlab--colorbar的各项细节操作
- vShield App设计指南[上]
- 123.买卖股票的最佳时机III
- 例题 2-1 aabb 2-2 3n+1问题
- 交换机端口mtu值最大_-【SDN】交换机MTU配置总结
- ICC图文流程——(三)布局Placement
- neovim初始化以及插件安装
- 假如生活欺骗了你,js for in 遍历对象的Key
- 什么是长连接,什么是短连接
- 【NB-Iot自我学习之路_3】NB平台介绍【电信篇】+【移动篇】
热门文章
- PHP大数据量(大于50万)导出到Excel解决方案
- 【数据可视化】python/pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图
- 二叉树的后序遍历(递归和非递归)
- 九连环的递归实现,以及数列通项
- 汤小丹计算机操作系统慕课版课后题答案第六章:虚拟储存器
- 电脑技巧:电脑键盘F1~F12按键的妙用
- 让Qt程序适配高分辨率屏幕,解决软件界面错乱异常
- mysql error 1236_MySQL Error 1236 错误解决办法
- oracle select ora-16000,ORA-00604, ORA-16000: 打开数据库以进行只读访问
- 数字图像处理(9): 图像缩放、图像旋转、图像翻转 和 图像平移