• 2024-06-19Postman 的 Basic Auth 如何通过 Feign 实现
    Postman的BasicAuth:分析根据以上图片分析:Postman的Authorization实际为:header中添加Authorization:**************=>"Base"+""+base64("Username"+":"+"Password")=>"Basic"+base64("Vip
  • 2024-06-17feign接口中使用泛型接收返回值
    问题一般在对接客户接口时,都会使用多个策略类处理,并且不同的客户返回值不同,因此比较好的方案是使用泛型来处理。然而现实是,feign或openfeign会擦除泛型,将返回的对象转为LinkedHashMap,导致转json反序列化成对象时异常。思路debug可以发现,在decode时,response返回的是所需
  • 2024-06-14SpringCloud入门之设置OpenFeign 压缩 超时时间 重试等
    文章目录前言一、为什么要配置二、配置属性1.代码2.yml配置2.1开启Feign日志2.2读取超时和连接超时2.3gzip压缩2.4变更httpclient客户端3.日志输出说明前言通过yml中设置一些属性,就可以让OpenFeign的功能更加强大,它不仅限于服务间的调用,还有请求重试、压缩
  • 2024-06-03SpringBoot引入Feign
    首先我们先来了解一下Feign主要是做什么的:使用接口方式调用服务,它让微服务之间的调用变得更简单,类似controller调用service一、引入POM依赖<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeig
  • 2024-06-032024.06 面试准备
     常用名词解释 1.Dubbo与Feign的区别【yh:用的是dobbo,因为高并发考虑】1.1相同点:常见的实现远程调用的方式:Http接口(web接口、RestTemplate+Okhttp)、Feign、RPC调用(Dubbo、Socket编程)、Webservice。1.2不同点Dubbo:支持多传输协议(Dubbo、Rmi、http、redis等等),适合数
  • 2024-05-28Open Feign
    OpenFeign是一个基于Spring的声明式、模板化的HTTP客户端,它简化了编写Web服务客户端的过程。用户只需创建一个接口并添加相应的注解,即可实现对远程服务的调用。SpringCloudOpenFeign对Feign进行了二次封装,使得在SpringCloud中使用Feign的时候,可以做到使用HTTP
  • 2024-05-26Feign Hystrix Ribbon 超时配置原理解析
    超时配置我们发现feign、ribbon、hystrix中都有超时时间配置,每个组件中超时的具体含义是什么?在三者结合协作后,又应该如何配置?Feign超时配置feign中的超时配置,针对的是一次请求时的连接时间和读取时间。执行一次请求的最长时间=feign连接超时+feign读取超时超时配置由Fe
  • 2024-05-26微服务容错实战之openfeign
    Netflix开源软件套件(NetflixOpenSourceSoftware,简称NetflixOSS)是Netflix公司开源的一系列优秀的软件工具和框架,用于构建高性能、可扩展、弹性和可靠的分布式系统。提供了丰富的工具和解决方案,如Eureka、Feign、Ribbon、Hystrix、Zuul等。这里我们借助Feign、Ribbon和Hystrix
  • 2024-05-23自定义Feign配置
    java代码的方式写一个配置类publicclassFeignConfig{/***将契约改为feign原生的默认契约。这样就可以使用feign自带的注解了。*@return默认的原生契约*/@BeanpublicContractfeignContract(){returnnewContract.Default
  • 2024-05-23Feign的介绍与使用
    什么是Feign?Feign是声明式WebService客户端,它让微服务之间的调用变得更简单。为什么使用Feign?Feign旨在使编写JavaHttp客户端变得更容易;之前在使用Ribbon+RestTemplate时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由于对
  • 2024-05-17SpringCloud解决feign调用token丢失问题
    背景讨论feign请求在微服务环境中,完成一个http请求,经常需要调用其他好几个服务才可以完成其功能,这种情况非常普遍,无法避免。那么就需要服务之间的通过feignClient发起请求,获取需要的资源。认证和鉴权一般而言,微服务项目部署环境中,各个微服务都是运行在内网环境,网关服务负责请
  • 2024-05-15RetryableException: Read timed out executing导致服务假死无响应
    最近发现Plan这个微服务经常会无响应,后来发现是task微服务会调用plan的某个接口,经常报错如下异常,然后timeout后又30秒再次发起重试而这个业务处理时间1分钟-2小时都有可能所以把plan微服务线程池占满导致无响应2024-05-1314:27:00.282N/A,b1f2a3468b14468abef240bfeddd8b95,0
  • 2024-05-09Dubbo和Feign的区别?
    Dubbo和Feign是两个不同的微服务框架,它们在通信协议、服务调用方式、服务注册和发现、服务治理、编程模型以及同步/异步调用等方面存在差异。通信协议:Dubbo使用自定义的RPC协议进行通信,而Feign使用HTTP协议进行通信。服务调用方式:Dubbo采用的是服务间直接的点对点调
  • 2024-05-08微服务Spring Cloud17_Feign9
    在前面的学习中,使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:如果就学到这里,你可能以后需要编写类似的大量重复代码,格式基本相同,无非参数不一样。有没有更优雅的方式,来对这些代码再次优化呢?这就是接下来要学的Feign的功能了。 一、简介Feign也叫伪装:Feign可以把Re
  • 2024-05-03gateway(二)微服务之间传递用户信息
    packagecom.hmall.api.config;importcom.hmall.common.utils.UserContext;importfeign.Logger;importfeign.RequestInterceptor;importfeign.RequestTemplate;importorg.springframework.context.annotation.Bean;publicclassDefaultFeignConfig{//千万不要
  • 2024-04-23feign调用接口报错No qualifying bean of type '***HttpMessageConverters' available
    在整合springcloudgeateway时,调用了feign接口,报错Noqualifyingbeanoftype'org.springframework.boot.autoconfigure.http.HttpMessageConverters'available报错信息feign.codec.EncodeException:Noqualifyingbeanoftype'org.springframework.boot.autocon
  • 2024-04-18feign携带token
    方式1:@ConfigurationpublicclassFeignConfigimplementsRequestInterceptor{@Overridepublicvoidapply(RequestTemplaterequestTemplate){ServletRequestAttributesattributes=((ServletRequestAttributes)RequestContextHolder.getRequestAttrib
  • 2024-04-15Feign日志 - 自定义 info级别打印
    背景由于feign,默认只有debug的level,才能打印出日志。不太符合一般项目的loginfolevel的约定。因此决定自定义feign的log打印。目的在infolevel下,可以打印feign日志寻找线索打开openfeign的核心包目录寻找log相关类 feign-1.png通过FeignLoggerfactor
  • 2024-04-07spring_cloud五大组件
    SpringCloud是一个基于SpringBoot的开源微服务框架,它提供了一系列的组件来简化分布式系统的开发和部署。SpringCloud中最常用的五大组件包括:Eureka:Eureka是一个服务注册与发现组件,它可以让微服务应用动态地注册和发现服务。通过Eureka,微服务应用可以轻松地找到其他服
  • 2024-04-03feign.net 使用consul服务发现 配置
    所有依赖 <ProjectSdk="Microsoft.NET.Sdk.Web"><PropertyGroup><TargetFramework>net8.0</TargetFramework><Nullable>enable</Nullable><ImplicitUsings>enable</ImplicitUsings><In
  • 2024-03-25SpringCloud(一.2)微服务远程调用 -- Feign
    通过RestTemplate实现远程调用后存在一些问题,如图:RestTemplate缺点:代码可读性差,编程体验不统一。参数复杂URL难以维护。 Fegin是一个声明式的http客户端(https://github.com/OpenFegin/fegin),其作用就是帮助我们优雅的实现http请求的发送,解决上面RestTemplate的痛点。 Feg
  • 2024-03-21SpringCloud 使用feign进行文件MultipartFile传输
    SpringCloud组件fiegn默认是不支持传递文件的。但是提供了feign-form扩展工具解决方法:步骤一:在消费者服务中加入相关pom依赖。<!--解决SpringCloud组件feign默认是不支持传递文件的--><dependency><groupId>io.github.openfeign.form</groupId>
  • 2024-03-20feign设置超时时间
    feign设置超时时间feign的本质是调用http请求,如果不设置超时时间,请求长时间连接着,占用系统资源,影响用户体验。feign设置超时时间,可以通过Request.Options来设置。FeignClientFactoryBean:调用feign,会调用FeignClientFactoryBean类的feign()方法,再用configureFeig
  • 2024-03-20使用AOP记录feign调用日志
    文章目录业务场景使用DemoClientFeignDemlFeignFallBack主要代码DockLogAspectDockLogDockLogServiceDockLogAddDTOJacksonUtils业务场景记录请求第三方接口的情况。@DockLog可以用在类上也可以用在方法上使用DemoClientFeignimportorg.springframework.cloud
  • 2024-03-20利用ssh隧道提升 feign 调用开发效率
    问题描述springcloud架构下,微服务间很多是通过feign进行调用的。作为一家小公司,很多微服务在开发环境没有部署实例,这就导致,想在本地做开发调试,要花精力起很多依赖服务。耗时费力。解决办法1、利用ssh隧道,让办公网可以访问测试环境(阿里云、默认不开放端口)的微服务。ssh-f