Spring Cloud调用接口过程

Spring Cloud 在接口调用上,大致会经过如下几个组件配合:

Feign ----->Hystrix —>Ribbon —>Http Client(apache http components 或者 Okhttp) 具体交互流程上,如下图所示:

(1)接口化请求调用当调用被@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调用接口流程相关推荐

  1. python 支付宝接口_python调用支付宝支付接口流程

    项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公钥 2.应用公钥 3.应用私钥 4.APPID 5.Django 1.11. ...

  2. 常用的Java流程引擎API开发调用接口大全-工作流引擎设计

    关键词: 工作流引擎 BPM系统 接口调用 工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流 一.程序调用开发接口  二.   接口说明 所谓的驰骋工作流引擎的接口, ...

  3. retryexec.java 94_解决feign调用接口不稳定的问题

    我就废话不多说了,大家还是直接看代码吧~ Caused by: java.net.SocketException: Software caused connection abort: recv fai ...

  4. 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo

     更多微信技术交流,请加QQ群:289709451.287090836     前几章中我讲解了微信开发平台提供第三方平台的好处,和使用流程,如果你看了我的文章相信你对开放平台有了初步的了解,但是在实 ...

  5. 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战

    目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...

  6. 什么是短网址?如何调用接口生成短地址?

    随着网络应用的深入和普及,网址资源越来越少了,长尾网址也派上用场了,只是网址太长不方便识别与记录.因此,就有了短网址替代长网址的技术接口. 随着SEO的重要性越来越明显,在推广的时候如果把网页链接缩短 ...

  7. 使用js调用接口导出excel

    使用js调用接口导出Excel 以下是使用JavaScript调用接口导出Excel文件的一般流程: 客户端向服务器发送请求,请求后端生成Excel文件: 服务器响应该请求,执行Excel生成操作,并 ...

  8. 淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口流程代码对接说明

    淘宝天猫开放平台店铺商品发布(新)-淘宝店铺发布API接口,天猫店铺发布API接口,oAuth2.0店铺发布接口,店铺商品API接口,店铺商品接口发布API接口流程代码对接说明: 公共参数 名称 类型 ...

  9. SpringCloud Gateway架构流程 和 内置的路由断言介绍

    讲解SpringCloud Gateway架构流程 路由:是网关的基本单元,由ID.URI.一组Predicate.一组Filter组成,根据Predicate进行匹配转发 route组成部分 id: ...

最新文章

  1. python代码怎么运行-python代码是怎样运行的
  2. 2022 年营销自动化七大趋势前瞻
  3. resttemplate 请求重试_使用Spring Cloud Ribbon重试请求
  4. C语言程序练习-L1-023 输出GPLT (20分)
  5. 鼠标放到控件上 DIV悬浮提示效果(四种)
  6. JVM学习笔记二:JVM参数
  7. oracle输出查询返回多行,ORA-01427:单行子查询返回多行
  8. 使用identity+jwt保护你的webapi(一)——identity基础配置
  9. C# datetime 操作
  10. 作者:谢波峰(1976-),男,中国人民大学财政金融学院副教授,中国人民大学金融与财税电子化研究所执行所长。...
  11. Matlab--colorbar的各项细节操作
  12. vShield App设计指南[上]
  13. 123.买卖股票的最佳时机III
  14. 例题 2-1 aabb 2-2 3n+1问题
  15. 交换机端口mtu值最大_-【SDN】交换机MTU配置总结
  16. ICC图文流程——(三)布局Placement
  17. neovim初始化以及插件安装
  18. 假如生活欺骗了你,js for in 遍历对象的Key
  19. 什么是长连接,什么是短连接
  20. 【NB-Iot自我学习之路_3】NB平台介绍【电信篇】+【移动篇】

热门文章

  1. PHP大数据量(大于50万)导出到Excel解决方案
  2. 【数据可视化】python/pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)、动态流向图
  3. 二叉树的后序遍历(递归和非递归)
  4. 九连环的递归实现,以及数列通项
  5. 汤小丹计算机操作系统慕课版课后题答案第六章:虚拟储存器
  6. 电脑技巧:电脑键盘F1~F12按键的妙用
  7. 让Qt程序适配高分辨率屏幕,解决软件界面错乱异常
  8. mysql error 1236_MySQL Error 1236 错误解决办法
  9. oracle select ora-16000,ORA-00604, ORA-16000: 打开数据库以进行只读访问
  10. 数字图像处理(9): 图像缩放、图像旋转、图像翻转 和 图像平移