首页 > 其他分享 >OpenFeign-远程调用工具

OpenFeign-远程调用工具

时间:2023-02-15 11:58:23浏览次数:48  
标签:feign 调用 OpenFeign Feign id BClient 远程

介绍

声明式的http客户端,底层还是HttpClient,可以解决RestTemplate硬编码进行远程服务调用的缺点

官网:https://github.com/OpenFeign/feign

入门

以A微服务对B微服务远程调用为例

若无多个微服务对B微服务调用的情况,第1、2步可在A微服务中完成

1.建立Feign模块并导入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2.编写Feign的客户端BClient

BClient添加注解:@B

@B为B在nacos中的注册名

在使用Feign客户端接口时,强烈建议遵守如下几点要求:

  • 使用@RequestMapping注解

    古早版本只能识别@RequestMapping,便于与古早版本兼容

  • 请求参数需要指定参数名称

@FeignClient("BClient")
public interface BClient {
    @RequestMapping("/user/{id}")
    void findById(@PathVariable("id") Long id);
}

3.A引导类增加注解

@EnableFeignClients(basePackages = {"BClient所在目录绝对路径"})

4.远程调用

注入BClient便可直接调用

@Autowired
private BClient bClient;

public void findById(Long id){
    bClient.findById(id);
}

#.Feign集成HttpClient(非必须)

  1. A微服务中导入依赖

    <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-httpclient</artifactId>
    </dependency>
    
  2. 配置文件

    feign:
      httpclient:
        enabled: true # 开启feign对HttpClient的支持
        max-connections: 200 # 最大的连接数
        max-connections-per-route: 50 # 每个路径的最大连接数
    

标签:feign,调用,OpenFeign,Feign,id,BClient,远程
From: https://www.cnblogs.com/V-Notes/p/17122291.html

相关文章

  • 2-STM32+Air724UG基本控制篇(自建物联网平台)-整体运行测试-Android扫码绑定Air724,并
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ZLAir724UGA/my.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • OpenFeign 4.0.1+SpringCloud3.0.x+Consul集群
    介绍OpenFeignopenFeign是工作在客户端可与其他注册发现管理服务器整合(eureka,zookeeper,consul,nacos等)功能上替代了restTemplate,本身集成Ribbon有负载均衡功能,在形式......
  • Ubuntu20.04开启VNC远程服务设置教程
    对于使用过PVE的大佬来说,在自己电脑安装虚拟机打开的画面惨不忍睹,其实它只是用错了地方。 今天给大家介绍一款控制工具,它叫VNC,是用来进行远程连接的非常好用的工具可......
  • 10.7 函数调用机制
     代码清单10-1中列出的C语言源代码中,有一个处理是在变量c中存储AddNum函数的返回值,不过在汇编语言的源代码中,并没有与此对应的处理。这是因为编译器有最优化功能。最......
  • 10.7函数调用机制
          代码清单10-1中列出的C语言源代码中,有一个处理是在变量c中存储AddNum函数的返回值,不过在汇编语言的源代码中,并没有与此对应的处理。这是因为编译器有......
  • OpenHarmony - 相机(Camera)的调用
    作者:张明伟一、前言camera使用介绍相机是一个系统的基础能力,能够通过调用相机进行拍照,在很多场景下都会使用到相机的调用,如人脸识别门禁,人脸解锁等操作。本文主要介绍在......
  • springcloud sidecar 实现C语言调用语言模块
    以前对springcloud的印象停留在大项目功能模块的独立、负载均衡、熔断等功能。这次项目接触了另一个用法,多语言异构。以前Java调C都是用的JNA或者JNI,这次C调Java用了spring......
  • centos7下远程图形化浏览器解决方案
    背景:越来越多的项目会首选linux作为基础系统,一般情况下客户提供的都是没有图像化的linux,但有些配置需要通过浏览器来修改并查看(比如nacos,roketmq-admin等),因此便需要centos......
  • Navicat远程连接linux下mysql服务器1045错误解决办法在这儿
    1:首先通过xshell工具或者你熟悉的工具连接远程linux下的服务器mysql-uroot-p   然后输入密码 2.进行授权如果想root用户使用password从任何主机连接到mysql服务器......
  • git如何把本地文件夹和远程仓库关联
    场景:1,有一个本地项目,没有上传到git过,你在远程新建了一个仓库,想把这个本地的代码推送到该仓库2,直接想把本地代码推送到远程并创建该本地文件对应的仓库解决方法:没有仓库......