当前位置:   article > 正文

微服务组件 Open Feign 远程调用 详细介绍以及使用_openfeign调远程地址如何配置

openfeign调远程地址如何配置

服务组件 Open Feign 远程调用

一,什么是 Open Fegin

OpenFeign是一个声明式的Web服务客户端,它是Spring Cloud生态系统中的一个组件,用于简化和优化微服务之间的远程调用。通过使用注解和接口定义的方式,开发者可以轻松地实现对其他微服务的访问。

使用OpenFeign,您只需定义一个接口,并通过注解来配置该接口对应的远程服务的URL、请求方法、请求参数等信息,OpenFeign将自动生成可用于调用远程服务的实现。这样,您就可以像调用本地方法一样调用远程服务,而无需编写繁琐的HTTP请求和解析代码。

OpenFeign还提供了许多有用的功能,例如负载均衡、超时控制、熔断降级等。它与Spring Cloud集成紧密,可以与服务注册中心(如Eureka或Nacos)和负载均衡器(如Ribbon)等组件配合使用,实现服务的发现和动态路由。

总之,OpenFeign简化了微服务之间的通信过程,使得开发者可以更加便捷地进行远程调用,提高了开发效率和代码的可读性。同时,它也是构建基于Spring Cloud的分布式微服务架构中不可或缺的关键组件之一。

二,Open Fegin注解

@FeignClient 和 @EnableFeignClients 都是 OpenFeign 中使用的注解,但它们的作用和使用场景略有不同。

  1. @FeignClient:

@FeignClient 注解用于标记一个接口为 OpenFeign 的远程服务客户端。它通常被放置在定义远程服务调用的接口上,并通过 value 属性指定要调用的远程服务名称,可以是服务注册中心中的服务名。

示例:

  1. @FeignClient(value = "service-name")
  2. public interface MyServiceClient {
  3. // 接口方法定义
  4. }

通过 @FeignClient 注解,我们可以定义远程服务的调用接口,并通过它来实现远程服务的调用和数据传输。

2. @EnableFeignClients:

@EnableFeignClients 注解用于在 Spring Boot 应用中启用 Feign 客户端功能。它一般被放置在主应用程序类上,用于扫描并启用带有 @FeignClient 注解的接口。

示例:

  1. @SpringBootApplication
  2. @EnableFeignClients
  3. public class MyApp {
  4. public static void main(String[] args){
  5. SpringApplication.run(MyApp.class, args);
  6. }
  7. }

通过在主应用程序类上添加 @EnableFeignClients 注解,我们可以启用 OpenFeign 功能,并使其扫描和管理 @FeignClient 标记的接口。

总结:@FeignClient 是用于标记接口作为 OpenFeign 远程服务客户端的注解,用于定义和配置远程服务调用。而 @EnableFeignClients 是用于在 Spring Boot 应用中启用 Feign 客户端功能的注解,它会扫描并启用带有 @FeignClient 注解的接口。

3.@FeginClient注解参数介绍

@FeignClient 注解的参数可以根据具体的需求进行配置,下面是 @FeignClient 注解的常用参数介绍:

  1. value

:指定要调用的远程服务名称。可以是服务注册中心中的服务名,也可以是一个URL字符串。

  1. url

:指定要调用的远程服务的URL地址,用于直接指定远程服务的URL而不使用服务注册中心。

  1. path

:指定远程服务的基础路径,用于拼接在 value 或 url 的后面。

  1. contextId

(Spring Cloud 2020.0.0及更高版本):为该Feign客户端创建一个特定的上下文ID,以避免与其他Feign客户端冲突。

  1. configuration

:指定自定义的 Feign 配置类,用于覆盖默认的配置。配置类需要实现 feign.codec.Decoder、feign.codec.Encoder、feign.Contract 等接口。

  1. fallback

:指定降级处理的类,当远程服务不可用时会执行该类中定义的备用逻辑。

  1. fallbackFactory

:指定降级处理的工厂类,用于创建降级处理类的实例。

  1. primary

:标识当前 Feign 客户端是否为首选的 Bean,即当有多个同类型的 Feign 客户端时,优先选择此客户端。

  1. decode404

:是否将 404 错误解码为正常的响应。默认情况下,OpenFeign 将 404 错误解码为 null。设置为 true 可以对 404 错误进行解码。

  1. qualifier

(Spring Cloud 2020.0.0及更高版本):作为合格者限定符,用于解决多个合格的Bean之间的冲突。

  1. name

(Spring Cloud 2020.0.0及更高版本):指定该客户端的名称。

这些参数可以根据实际需求进行配置,例如通过 value 指定要调用的服务名称,通过 fallback 指定降级处理类等。在使用 @FeignClient 注解时,根据具体的场景和需求选择适当的参数进行配置,以实现远程服务调用。

三,总结

本文主要介绍了微服务组件 OpenFeign 远程调用的概念、作用和常用注解。OpenFeign 是一个声明式的 Web 服务客户端,用于简化和优化微服务之间的远程调用。通过使用注解和接口定义的方式,开发者可以轻松地实现对其他微服务的访问。常用的注解包括 @FeignClient 和 @EnableFeignClients,@FeignClient 用于标记接口为 OpenFeign 远程服务客户端,并通过参数配置远程服务的调用,@EnableFeignClients 则用于启用 Feign 客户端功能,扫描并启用带有 @FeignClient 注解的接口。在使用 @FeignClient 注解时,根据具体的场景和需求选择适当的参数进行配置,以实现远程服务调用。 

        深入了解可以观看官网介绍

 Spring Cloud OpenFeign 中文文档 (springdoc.cn)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/84571
推荐阅读
相关标签
  

闽ICP备14008679号