OpenFeign:Spring Cloud声明式服务调用组件

问题总结

  1. OpenFeign?
  2. Feign VS OpenFeign?
  3. OpenFeign实现远程服务调用?
  4. OpenFeign超时控制?
  5. OpenFeign日志增强?

问题答案

  1. Open Feign

Spring官方推出的一种声明式服务端调用与负载均衡组件。

  • OpenFeign常用注解
注解 说明
@FeignClient 通知OpenFeign组件对@RequestMapping注解下的接口解析,并通过动态代理的方式实现类,实现负载均衡和服务调用
@EnableFeignClients 用于开启OpenFeign功能,当Spring Cloud应用启动时,OpenFeign会扫描标有@FeignClient注解的接口,生成代理并注册到Spring容器中
@RequestMapping 略
@GetMapping 略
@PostMapping 略
  1. Feign VS OpenFeign
  • 相同点

    • 都是Spring Cloud下的远程调用和负载均衡组件
    • 都可以实现远程调用和负载均衡
    • 都继承了Ribbon,利用Ribbon维护了可用服务清单,并通过Ribbon实现了客户端的负载均衡。
    • 都在客户端定义服务绑定接口并通过注解的方式进行配置,以实现远程服务的调用。
  • 不同点
    • 依赖项不同,Feign的依赖为spring-cloud-starter-feign,而OpenFeign的依赖为spring-cloud-starter-openfeign
    • OpenFeign支持Spring MVC注解
  1. OpenFeign实现远程服务调用
  • 略
  1. OpenFeign超时控制
  • 默认1s超时,由于OpenFeign集成了Ribbon,其服务调用以及负载均衡在底层都是依靠Ribbon实现的,因此OpenFeign超时控制也是通过Ribbon来实现的。
  1. OpenFeign日志增强
  • Logger.Level的具体级别如下:

    • NONE:不记录任何信息。
    • BASIC:仅记录请求
    • HEADERS:除了记录BASIC级别的信息外,还会记录请求喝响应的头信息。
    • FULL:记录所有请求与响应的明细,包括头信息、请求体、元数据等。

OpenFeign:Spring Cloud声明式服务调用组件的更多相关文章

  1. Spring Cloud 声明式服务调用 Feign

    一.简介 在上一篇中,我们介绍注册中心Eureka,但是没有服务注册和服务调用,服务注册和服务调用本来应该在上一章就应该给出例子的,但是我觉得还是和Feign一起讲比较好,因为在实际项目中,都是使用声 ...

  2. spring cloud 系列第4篇 —— feign 声明式服务调用 (F版本)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.feign 简介 在上一个用例中,我们使用ribbon+restTem ...

  3. Spring Cloud Feign 声明式服务调用

    目录 一.Feign是什么? 二.Feign的快速搭建 三.Feign的几种姿态 参数绑定 继承特性 四.其他配置 Ribbon 配置 Hystrix 配置 一.Feign是什么? ​ 通过对前面Sp ...

  4. Spring Cloud Eureka 分布式开发之服务注册中心、负载均衡、声明式服务调用实现

    介绍 本示例主要介绍 Spring Cloud 系列中的 Eureka,使你能快速上手负载均衡.声明式服务.服务注册中心等 Eureka Server Eureka 是 Netflix 的子模块,它是 ...

  5. Spring Cloud 2-Feign 声明式服务调用(三)

    Spring Cloud Feign  1. pom.xml 2. application.yml 3. Application.java 4. Client.java 简化RestTemplate调 ...

  6. Spring Cloud Feign声明式服务调用(转载)+遇到的问题

    转载:原文 总结: 1.pom添加依赖 2.application中填写正确的eureka配置 3.启动项中增加注解 @EnableFeignClients 4.填写正确的调用接口 通过原文使用Fei ...

  7. 声明式服务调用:Spring Cloud Feign

    最近在学习Spring Cloud的知识,现将声明式服务调用:Spring Cloud Feign 的相关知识笔记整理如下.[采用 oneNote格式排版]

  8. SpringCloud 源码系列(6)—— 声明式服务调用 Feign

    SpringCloud 源码系列(1)-- 注册中心 Eureka(上) SpringCloud 源码系列(2)-- 注册中心 Eureka(中) SpringCloud 源码系列(3)-- 注册中心 ...

  9. SpringCloud系列-利用Feign实现声明式服务调用

    上一篇文章<手把手带你利用Ribbon实现客户端的负载均衡>介绍了消费者通过Ribbon调用服务实现负载均衡的过程,里面所需要的参数需要在请求的URL中进行拼接,但是参数太多会导致拼接字符 ...

  10. spring cloud 入门系列五:使用Feign 实现声明式服务调用

    一.Spring Cloud Feign概念引入通过前面的随笔,我们了解如何通过Spring Cloud ribbon进行负责均衡,如何通过Spring Cloud Hystrix进行服务断路保护,两 ...

随机推荐

  1. Vue源码学习(七):合并生命周期(混入Vue.Mixin)

    好家伙,   1.使用场景 现在来,来想一下,作为一个使用Vue的开发者,假设现在我们要使用created(),我们会如何使用 1.1.  .vue文件中使用 <template> < ...

  2. 编译器优化记录(Mem2Reg+SSA Destruction)

    编译器优化记录(2) Mem2Reg+SSA Destruction 写的时候忽然想起来,这部分的内容恰好是在我十八岁生日的前一天完成的.算是自己给自己的一份成长的纪念吧. 0. 哪些东西可以Mem2 ...

  3. day01 java 数据类型

    数据类型   1. 数值型:整数类型 byte   short   int   long 浮点类型 double float 基本数据类型:2.字符型:char 3.布尔型:boolean    1. ...

  4. Redis系列23:性能优化指南

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  5. nginx配置kibana访问用户名和密码认证、及无认证访问配置

    转载请注明出处: 在nginx上配置kibana页面访问时,默认是采用kibana的认证,一般直接安装kibana后,是没有用户名和密码认证的. 如果要在负载均衡上配置反向代理和用户认证,可按以下步骤 ...

  6. destoon关于archiver归档的性能优化

    今天在处理一个项目时候发现archiver单个模块归档超过百万数据,打开速度就特慢,所以打开archiver下index.php文件进行分析,发现有句sql作怪 1 $result = $db-> ...

  7. Redis系列之——使用常见问题

    文章目录 一 子进程开销和优化 二 fork操作 三 aof追加阻塞 一 子进程开销和优化 1 cpu 开销:rdb和aof文件生成,属于cpu密集型 优化:不做cpu绑定,不和cpu密集型的服务一起 ...

  8. Oracle存储函数写法及调用

    1.右键导航创建函数界面 2.返回值FunctionResult可自定义,当函数有输出函数时可不传数据,但需要设置返回(当提示未限定返回长度时,如代码示例设置255长度皆可): -------使用函数 ...

  9. Angular2 通过自定义指令限制输入框输入类型

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/16814577.html 在input控件中,使用type="n ...

  10. .NET高性能开发-位图索引(一)

    首先来假设这样一个业务场景,大家对于飞机票应该不陌生,大家在购买机票时,首先是选择您期望的起抵城市和时间,然后选择舱等(公务舱.经济舱),点击查询以后就会出现航班列表,随意的点击一个航班,可以发现有非 ...