openfeign的使用

更新时间:2023-05-24 02:35:43 阅读: 评论:0

一、概述
openFeign是要声明式的web服务客户端,或叫做声明式REST客户端,它让编写web服务客户端变得简单。
使用它的步骤:创建一个接口并注解它。它支持spring MVC的注解,spring cloud openFeign整合了hystrix,同时,可以和Eureka和ribbon配合使用,可以实现负载均衡的http客户端。
可以理解为是请求转发(RPC调度)的入口。本章讲述的是2.2.10.RELEASE版本。
二、使用步骤
1、引入spring-cloud-starter-openfeign 依赖。
2、启动类上加上@EnableFeignClients开启Feign的客户端服务
3、定义一个接口,并加上@FeignClient注解,同时,使用REST风格的接口请求服务。
例如:
@FeignClient(value = "provider")同义词库
public interface OpenFeignService {
        @RequestMapping("/open")
每时每刻英文        public String getName();
farm是什么意思
1
2
3
4
@FeignClient(“provider”)中的value值表示的是这个Feign客户端需要请求的微服务名称。这个名称代表了一个微服务或一个微服务组,其实就是spring.application.name的值。Feign客户端通过这个别名去EurekaServer服务端去找到这个别名对应的微服务。
如果你在项目中还使用了ribbon做负载均衡且结合了Eureka,那么,ribbon将去Eureka的服务注册中心拉取注册表,并缓存到本地,并结合负载均衡算法,选取一个物理主机作为服务端。
三、openFeign的使用
1、如果你不喜欢Feign默认的配置,可以使用FeignClientsConfiguration ,这个类能够让我们全面的控制Feign客户端。步骤如下:
起飞英文
a、定义一个类,继承FeignClientsConfiguration 。
kissin u
11的英语b、重写方法。
c、在@FeignClient 中通过configuration属性引入自定义类。
注意:这个配置类不能注册进spring容器,即不需要使用@Component注解。当然,如果重写Feign的配置不想用自定义类,也可以使用配置文件。如果你既使用了配置类,又使用了配置文件,则配置文件生效。
january是什么意思
2、如果你想定义多个Feign客户端,想区分他们,可以使用contextId属性。
@FeignClient(name = 'provider',contextId = "AClient",configuration = "FeignConfig.class")
1
3、熔断机制
OpenFeign 整合了hystrix做熔断处理,包括超时和异常熔断。其中对于超时,OpenFeign提供了两个参数:connectTimeout和readTimeout
replay是什么意思
connectTimeout:防止由于服务器处理时间过长而阻塞调用者
readTimeout:从建立连接时开始应用,并在返回响应时间过长时触发。
处理方式为:返回错误信息或fallback 其实就是hystrix的那一套机制。雅思官方报名
实现步骤:
a、设置开启feign的熔断:able=true
b、创建一个实现feign客户端类的fallback类,并重写方法,重写的方法其实就是针对这个方法的一个fallback处理。
c、在feign客户端类上的@FeignClient注解中用fallback属性引用
上面步骤仅仅针对学习或项目比较小,如果项目比较大,单独为每个feign客户端配置一个fallback类不合理,我们可以将微服务调用方法集中进行统一的fallback控制,这就涉及到工厂模式,使用工厂类。步骤如下:
a、创建工厂类,需要实现FallbackFactory
>student是什么意思

本文发布于:2023-05-24 02:35:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/120314.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务   使用   客户端   配置   注解   处理   请求
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图