使用Feign来实现SpringCloud多模块之间的调用

接着上篇文章写:SpringCloud多模块开发

上篇文章编写了如何搭建多个项目,并且完美运行起来,那么项目间的相互调用要如何实现呢?

首先我在toutiao_download项目中创建了基础数据,和可供外部调用的controller

现在我在快手系统里面要如何才能获取到头条里面的信息呢?

第一步:引入feign依赖

使用feign来实现,首先我们要引入依赖

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

 我这里这在父类的pom中引入了(因为我这里整合了一下,可以看 springcloud修改父和子pom文件,实现统一管理

第二步:在启动类上加入@EnableFeignClients注解

第三步:编写Feign的接口,注意这里要与头条controller的url一致

 @FeignClient 里面的name为头条application中定义的名字

  url必须和头条里面的controller指定的一致。

第四步:这里创建好以后,就可以在service中使用了

发现启动快手项目报错了,

报这个错误的原因是因为我命名的问题,feign不支持下划线,这个坑人,那么只能修改下了。

在头条里修改下application.name

快手feign里也改成一样的

改好后,分别启动项目就好了。

第五步:开始访问

返回数据了,那么这里可能有人就认为可以了,在头条的方法里加一个睡眠时间

睡眠1s

再次访问,发现报错了

在配置文件中,加入如下配置解决

feign:
  client:
    config:
      default:
        connectTimeout: 2000
        readTimeout: 2000

 再次访问就好了,但是这个2s你要根据自己的实际情况来决定

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在Spring Cloud中,各个模块之间调用可以通过服务发现和负载均衡来实现。其中,Eureka是一种常用的服务发现工具,它可以让各个模块在启动时向Eureka注册自己的信息,并从Eureka获取其他模块的信息。引用 在上面提供的配置文件中,可以看到客户端依赖了`spring-cloud-starter-netflix-eureka-client`来使用Eureka客户端功能,并配置了Eureka Server的URL(`http://localhost:8761/eureka/`)作为服务中心地址。这样,各个模块就可以通过Eureka发现和调用其他模块服务。引用 在调用其他模块时,可以使用Feign或RestTemplate进行HTTP请求Feign是一种声明式的HTTP客户端,可以通过注解的方式定义接口,并自动生成实现类来调用其他模块服务。而RestTemplate是Spring提供的HTTP客户端库,可以直接发送HTTP请求调用其他模块服务。 另外,对于负载均衡的支持,Spring Cloud提供了多种解决方案,例如使用Ribbon进行客户端负载均衡,或者结合Nginx等第三方负载均衡器来实现。 总结起来,Spring Cloud通过服务发现和负载均衡的机制,可以方便地实现各个模块之间调用使用Eureka作为服务发现工具,结合Feign或RestTemplate进行HTTP请求,可以简化模块之间的通信。同时,结合负载均衡机制,可以提高系统的可用性和性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringCloud 模块调用](https://blog.csdn.net/liwang2016384/article/details/129126887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值