融资项目——通过OpenFeign在分布式微服务框架中实现微服务的远程调用

1.OpenFeign配置

首先,在需要调用其他的微服务的微服务中引入相关依赖。(大多数项目中各微服务需要互相调用,可以直接在每个微服务中引入依赖)

复制代码
        <!--服务调用-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

当openfeign版本较高时,还需要引入其他依赖,具体详见:

复制代码
https://www.cnblogs.com/yiMro/p/16018149.html

其次,需要在需要调用其他的微服务的微服务的启动类中加入注解@EnableFeignClients。

复制代码
@EnableFeignClients
public class ServiceEmsApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceEmsApplication.class, args);
    }
}
  1. 远程调用

首先,可以先在需要调用其他的微服务的微服务中创建client包,包中的接口都是用于远程调用其他的微服务。如下图,CoreUserInfoClient接口可能都是来远程调用和用户信息相关的微服务。

其次,在相应的接口上加入注解@FeignClient,其value值即为需要调用的微服务名称。

随后在接口中写入要调用的接口的URL以及函数。

然后可以在需要调用其他的微服务的微服务中相应的Controller中引入相应的Client(文中则引入)。随后可在相应方法中直接调用接口。

相关推荐
JAVA学习通40 分钟前
Replication(下):事务,一致性与共识
大数据·分布式·算法
失散134 小时前
分布式专题——45 ElasticSearch基础数据管理详解
java·分布式·elasticsearch·架构
没有bug.的程序员4 小时前
分布式监控体系:从指标采集到智能告警的完整之道
java·分布式·告警·监控体系·指标采集
西蓝花MQ4 小时前
Spring Cloud微服务篇面试题总结
spring·spring cloud·微服务
没有bug.的程序员10 小时前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
笨手笨脚の17 小时前
Kafka-1 初识消息引擎系统
分布式·kafka·消息队列·消息引擎系统
Jabes.yang18 小时前
Java大厂面试实录:从Spring Boot到微服务的技术探讨
java·spring boot·spring cloud·微服务·技术面试
2351619 小时前
【MQ】RabbitMQ:架构、工作模式、高可用与流程解析
java·分布式·架构·kafka·rabbitmq·rocketmq·java-rabbitmq
xrkhy20 小时前
分布式之RabbitMQ的使用(3)QueueBuilder
分布式·rabbitmq
__XYZ20 小时前
RedisTemplate 实现分布式锁
java·spring boot·redis·分布式·junit