OpenFeign 服务调用与负载

news/2024/9/20 11:35:38/文章来源:https://www.cnblogs.com/cryus/p/18297225

需要建两个工程,一个是服务提供者,一个是服务调用者

服务提供者

一个普通的 nacos 服务,增加一个 controller 方法即可,上一篇文章刚说了,这里简单说下

<!-- 服务提供者不调用其他服务,所以只需要注册到 nacos 的依赖 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置文件

server:port: 8081spring:application:name: my-provider-testcloud:nacos:discovery:server-addr: localhost:8848 # Nacos服务注册中心地址

代码

// 启动类
@EnableDiscoveryClient
@SpringBootApplication
public class SpringbootApplication {public static void main(String[] args) {SpringApplication.run(SpringbootApplication.class,args);}}// controller
@RestController
public class TestController {@GetMapping("/test")public String testGetConfig(){return "test";}
}

服务消费者

pom 依赖

<!-- 服务调用,底层需要 loadbalancer 做负载 -->
<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><!-- 服务注册 -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

配置文件

server:port: 8082spring:application:name: my-consumer-testcloud:nacos:discovery:server-addr: localhost:8848 # Nacos服务注册中心地址

代码

// 一个 Feign 接口,value 是服务名称
@FeignClient(value = "my-provider-test")
public interface TestFeign {// 这个方法要和服务提供者那里保持一致@GetMapping("/test")String test();}// controller
@RestController
public class Controller {@Resourceprivate TestFeign testFeign;@GetMapping("/test")public String testFeign(){return testFeign.test();}}// 启动类
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients // 开启 Feign
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

启动服务,nacos 能看到这俩服务

调用接口测试

生产中一般不会不是这样,通常服务提供者也是消费者,一般 controlle 继承 Feign 接口,@RequestMapping、@RequestBody 等这些注解也能继承,所以 Feign 中既定义了 Feign 也定义了接口,如果接入 swagger,swagger 以 controller 来构建 dock,这样代码就会清爽很多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/743577.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STMF4串口通信使用

目录STMF4串口通信使用USART的使用流程注意 STMF4串口通信使用前提回顾: 串口通信概念介绍1 STM32串口通信概念介绍2 针对特定stm32F4板子的串口接线折叠文本 USART指的是通用同步异步收发器,是STM32中的串行通信设备,STM32F407ZET6一共提供了6个串行接口供用户使用,其中4个…

HarmonyOS NEXT 学习笔记3--登录页面(数据绑定)

HarmonyOS NEXT 学习笔记3--登录页面(数据绑定)1.代码: import { promptAction } from @kit.ArkUI@Entry @Component struct Page_textInput_onchange {// @State UI刷新测试 [注意:不是双向绑定]username: string = password: string = build() {Column({ space: 20 }) {Te…

vue.js下载安装

参考—— https://www.jb51.net/article/283884.htm注:使用的是vue2 进入官网  https://cn.vuejs.org/ 文档——》vue2文档 或者直接通过这里    https://v2.cn.vuejs.org/v2/guide/ 复制绿色部分,粘贴到浏览器https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js 在在项目…

PMP-组织结构类型

职能型、矩阵型(强、弱、均衡)、项目导向(复合型、混合型),最常考,矩阵型为主。矩阵型具有多重的的汇报关系,但是他有专门的项目目的,好处是更高的提升项目的资源使用效率,又让项目不至于太高的人力成本。 职能型组织 ▪ 层级型结构,横向沟通困难,项目一般在职能部…

STM32串口通信概念介绍2

STM32串口通信 (1) 硬件接线说明采用4针的串口(TXD、RXD、GND、VCC),然后通过CH340芯片进行转换,就可以直接通过USB口转串口的方式达到和计算机通信的目的。 如果采用有线方式与PC机进行通信,则需要用到CH340转换芯片,数据会通过USART1串口传输。(1) 串口通信参数串口通信…

扩展Windows Server 2022的远程桌面连接数

远程桌面服务 配置 激活一、添加远程桌面授权服务打开服务器管理器:登录到Windows Server 2022服务器。 点击“开始”菜单,搜索“服务器管理器”并打开它。启动“添加角色和功能”向导:在服务器管理器中,点击左侧菜单中的“管理”然后选择“添加角色和功能”。 点击“下一步…

针对特种stm32F4板子的串口接线

硬件接线说明直接采用4针的串口(TXD、RXD、GND、VCC),然后通过CH340芯片进行转换,就可以直接通过USB口转串口的方式达到和计算机通信的目的。如果采用有线方式与PC机进行通信,则需要用到CH340转换芯片,数据会通过USART1串口传输。如果采用无线方式与手机进行通信,则不需…

电信千兆宽带体验

用的路由器拨号。应该是千兆光猫瓶颈了,换成2.5G或10G光猫应该能突破1100M速率

[rCore学习笔记 015]特权级机制

写在前面 本随笔是非常菜的菜鸡写的。如有问题请及时提出。 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 官方文档 仍然是一上来就丢出来的官方文档. 只摘抄了我觉得有意思的部分: 实现特权级机制的根本原因是应用程序运行的安全性不可…

从头构建和训练 GPT-2 |实战

引言 该项目[1]将引导您完成构建简单 GPT-2 模型的所有步骤,并使用 Taylor Swift引言 该项目将引导您完成构建简单 GPT-2 模型的所有步骤,并使用 Taylor Swift 和 Ed Sheeran 的一堆歌曲进行训练。本文的数据集和源代码将在 Github 上提供。 构建 GPT-2 架构 我们将逐步推进这…

易优eyoucms数据库配置文件是哪个在哪里?

易优eyoucms数据库配置文件位置在:网站根目录/application/database.php本文来自博客园,作者:黄文Rex,转载请注明原文链接:https://www.cnblogs.com/hwrex/p/18301555

DedeCMS模板目录的文件目录结构

templets ┣━ default 默认模板目录 ┃ ┣━ style 模板CSS样式目录 ┃ ┣━ js 模板JS脚本目录 ┃ ┗━ images 模板图片目录 ┃ ┣━ lurd LURD系统模板 ┃ ┣━ plus 插件模板目录 ┃ ┗━ system 系统底层模板目录本文来自博客园,作者:黄文…