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. Rethinking Point Cloud Registration as Masking and Reconstruction论文阅读

    Rethinking Point Cloud Registration as Masking and Reconstruction 2023 ICCV *Guangyan Chen, Meiling ...

  2. Python+Softmax+MNIST

    # -*- coding: utf-8 -*- """ 用神经网络搭建的softmax线性分离器 Softmax是用于分类过程,用来实现多分类的,简单来说,它把一些输出的 ...

  3. Python:利用math和random模块实现RSA加密算法

    实验五报告: 利用math和random模块实现RSA加密算法 实验目标 本实验的主要目标是熟悉RSA(Rivest-Shamir-Adleman)密码算法的编写,其中包括求最大公因子.模逆的扩展欧几 ...

  4. C/C++中的ACM题目输入处理——简单易上手

    这里就不按其他文章的以各种情况为分类方法,而是以方法本身为分类办法.因为有一些方法是不同情况通用的,比如已知数量数字的输入和未知数量数字的输入,其实可以用同一种办法. 输入 C/C++ :scanf正 ...

  5. 一文详解贝叶斯优化(Bayesian Optimization)原理

    参考资料: Expected Improvement formula for Bayesian Optimisation 通俗科普文:贝叶斯优化与SMBO.高斯过程回归.TPE 理解贝叶斯优化 A T ...

  6. LVS负载均衡概念+三种模式

    1.LVS负载均衡概念剖解: 1)LVS技术全称:Linux virtual Server ,Linux虚拟机服务器集群,1998由章文嵩博士设计.并且开源的,是中国最早的开源软件项目之一.   2) ...

  7. stable-diffusion-webui官方版本地安装教程

    stable-diffusion-webui官方版本地安装教程 最终效果 1. python安装 官网:https://www.python.org/downloads/release/python- ...

  8. c#装饰器模式详解

    基础介绍:   动态地给一个对象添加一些额外的职责.适用于需要扩展一个类的功能,或给一个类添加多个变化的情况.   装饰器,顾名思义就是在原有基础上添加一些功能.   大家都只知道如果想单纯的给原有类 ...

  9. QT(8)-QSpinBox

    QSpinBox 1 介绍 QSpinBox 是 Qt 中的一种数字输入控件,支持整数和浮点数输入.它允许用户通过上下箭头或键盘输入来选择数字.您可以设置最小值.最大值和步长,以限制用户输入的范围.Q ...

  10. 手撕Vuex-模块化共享数据下

    前言 好,经过上一篇的介绍,了解了 Vuex 当中的模块化,本章主要介绍 Vuex 当中的模块化共享数据下篇. 我们知道在全局的 Store 对象当中,我们可以定义全局的数据,那么如果我们在模块当中也 ...