栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法包含熔断器(Hystrix)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法包含熔断器(Hystrix)

本文目录

一、背景描述

二、配置方法

2.1 添加maven依赖

2.2 启动类上添加@EnableFeignClients注解

2.3 配置文件application-local.yml中添加路径

2.4 微服务A中添加微服务B的接口

2.5 调用此接口


在最近做的项目中,由于之前做的各个服务都是相互独立的,但是业务要求调用其他已做好的服务的功能,于是就有了正在做的项目调用已经上线的服务的需求。

一、背景描述

新开发的大脑管理平台(微服务A),由于需要调用控制引擎中心(微服务B)的接口,也就是服务A写个接口调用服务B,不需要做任务业务逻辑,即透传给服务B,服务B的接口为机器人测试对话聊天功能。由于这两个是独立的服务,相互之前没有关联性,所以会牵出一个问题?这服务A怎么调用服务B。

微服务A、微服务B,两个服务的项目结构如下:

二、配置方法



2.1 添加maven依赖

对于spring boot 2.0.0版本以上的,引用openfeign


	org.springframework.cloud
	spring-cloud-starter-openfeign
	2.0.2.RELEASE

在infrasture 目录中的 pom.xml 文件中添加 对微服务B的引用

        
        
            com.iot
            back-control-engine-api
            1.0-SNAPSHOT
        

2.2 启动类上添加@EnableFeignClients注解

在服务A的启动类上添加@EnableFeignClients注解,使得该服务支持FeignClients功能。

@Slf4j
@SpringBootApplication(scanbasePackages = {"com.iot"})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.iot")
@MapperScan("com.iot.back.brain.platform.tunnel.database")
public class MainServer implements ApplicationRunner {

    public static void main(String[] args) {
        try {
            SpringApplication.run(MainServer.class, args);
        } catch (Exception e) {
            log.error("大脑管理平台项目启动失败!报错原因 ============== ", e);
        }
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        log.info("恭喜你,大脑管理平台成功启动啦...");
    }
}

2.3 配置文件application-local.yml中添加路径

配置文件中添加如下配置,然后在类中通过 @FeignClient 注解获取

以下是 application-local.yml 配置文件中的配置内容(application-dev.yml、application-chk.yml、application-prod.yml 文件中也需要配置上):

##################### 其他微服务 #####################
feign:
    services:
        controlEngine: back-control-engine #控制引擎服务

2.4 微服务A中添加微服务B的接口

建一个包用于存放 feign 接口,放哪个目录下,没有强制规定

2.5 调用此接口

把这个接口当成本项目中的一个接口类正常注入调用即可。如图所示:

拓展:另外一种调用方式也可供参考

【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法

完结!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号