当前位置: 首页 > news >正文

spring-cloud微服务部署-feign服务间调用

1 准备工作

需要安装并启动nacos,作为服务注册中心。地址:https://nacos.io/

2 项目结构

在这里插入图片描述
parent的pom.xml声明依赖:

<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.2.12</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2023.0.6</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.1.0</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

2.1 服务service-a

在这里插入图片描述
在pom.xml中引入依赖:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.smant.xhappy</groupId><artifactId>service-api</artifactId><version>1.0-SNAPSHOT</version></dependency>
</dependencies>

在service-a中通过feign调用service-b的hello方法:
在这里插入图片描述
在controller中定义调用service-b中hello方法的接口:
在这里插入图片描述
在启动类上开启feign接口扫描:service-a需要调用service-b的接口,要在service-a的启动类上加@EnableFeignClients 注解,也就是服务调用方要加上@EnableFeignClients注解。
在这里插入图片描述
在application.yml中配置nacos地址:

server:port: 7515
spring:cloud:nacos:discovery:server-addr: localhost:8848application:name: service-a

2.2 服务service-b

在这里插入图片描述
和service-a的结构代码都差不多,不在赘述。

2.2 feign接口

在这里插入图片描述
在pom.xml引入依赖:

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

声明service-b的hello方法,给别的服务调用。
在这里插入图片描述

3 启动测试

启动service-a和service-b,然后请求地址:

http://localhost:7515/api/a/hello-a?msg=world
响应:A, hello world
http://localhost:7515/api/a/hello-b?msg=world
响应:B, hello world

这样一个简单的通过feign进行服务间调用的流程的就通了!!!

http://www.dtcms.com/a/286648.html

相关文章:

  • NFS读写性能评估与优化指南(下)
  • 二叉搜索树:高效的查找结构
  • 自学力扣:最长连续序列
  • python-pptx 的layout 布局
  • CCF编程能力等级认证GESP—C++1级—20250628
  • 扫地机器人,需要回归第一性原理
  • Docker安装教程
  • Visual Studio C++编译器优化等级详解:配置、原理与编码实践
  • 第七章 愿景07 实习小宇
  • LLC电源设计专题--详细讲解
  • Web开发 02
  • 贪吃蛇(C++实现)
  • 美客多跨境电商平台怎么开店?美客多入驻门槛有哪些?
  • 目标框的位置以及大小的分布
  • 进入当前正在运行的 Docker 容器
  • 应急响应-Windows资源监视器
  • 易用性强短视频矩阵平台源头开发商推荐
  • leetcode:单词接龙[图广搜][无权图找最短路径]
  • 突破性量子芯片问世:电子与光子首次集成,开启量子技术规模化应用新篇章
  • 跨平台猫咪键盘桌宠BongoCat v0.6.2 绿色版(附带多款皮肤包)
  • 集训Demo4
  • 【DEBUG】Debug日志001:RL项目记录
  • 产品研发的永恒难题:质量、速度与成本的三角博弈
  • 常用的折叠展开过渡动画效果css
  • 基于物联网的智能农情监测预警系统
  • 消息队列总结
  • 服务端高并发方案设计
  • 苍穹外卖DAY5
  • mingw11.2+opencv4.12 cmake contrib编译
  • server2003sp0和server2003R2的I386文件夹或AMD64文件夹里面的EXPAND.EXE命令可以显示当前光盘系统的版本号