Feign负载均衡

embedded/2024/10/20 5:45:52/

Feign负载均衡

  • 概念
    • 总结
  • 工程构建
    • Feign通过接口的方法调用Rest服务(之前是Ribbon——RestTemplate)

概念

官网解释:
http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign

Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。
Feign也支持可拔插式的编码器和解码器。
Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。
Feign可以与Eureka和Ribbon组合使用以支持负载均衡
在这里插入图片描述

总结

Feign是一个声明式的Web服务客户端,使得编写Web服务客户端变得非常容易。
只需要创建一个接口,然后在上面添加注解即可。
在这里插入图片描述
在这里插入图片描述
Feign集成了Ribbon
利用Ribbon维护了MicroServiceCloud-Dept的服务列表信息,并且通过轮询实现了客户端的负载均衡。而与Ribbon不同的是,通过feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用

工程构建

在这里插入图片描述

  1. 加入依赖
        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId></dependency>
  1. 修改公共api模块,因为他是所有entity、接口的还有公共的服务的抽取和配置
    在这里插入图片描述
    面向接口的微服务,接口习惯被放在api
    在这里插入图片描述

  2. 修改feign模块中的Controller,添加DeptClientService接口
    在这里插入图片描述

  3. 修改feign工程主启动类
    在这里插入图片描述

Feign通过接口的方法调用Rest服务(之前是Ribbon——RestTemplate)

该请求发送给Eureka服务器
通过Feign直接找到服务接口,由于在进行服务调用的时候融合了Ribbon技术,所以也支持负载均衡


http://www.ppmy.cn/embedded/28499.html

相关文章

SQL常用语句与事务介绍

文章目录 基本语法常见用法实用语句事务 基本语法 SELECT&#xff1a;用于从数据库表中检索数据。 语法&#xff1a;SELECT column1, column2, ... FROM table_name;INSERT INTO&#xff1a;用于向数据库表中插入新行。 语法&#xff1a;INSERT INTO table_name (column1, col…

oracle的sqlplus默认会执行的脚本

我原来是知道sqlplus会默认执行$ORACLE_HOME/sqlplus/admin/glogin.sql这个脚本 今天在一个陌生的环境调用sqlplus时总会默认执行两条语句 但是就是找不到被执行的文件在哪里 后来发现是在环境变量 ORACLE_PATH下的login.sql文件 ORACLE_PATH这个环境变量是sqlplus这个工具使用…

机器人项目相关

机器人项目相关 1. Nvidia 1.1 Jetson 1.1.1 初步安装Riva教程 llamaspeakJetson AGX Orin踩坑记录&#xff08;1&#xff09;安装Riva 参考知乎链接&#xff1a;https://zhuanlan.zhihu.com/p/670007305 1.1.2 NVIDIA Jetson AI Lab 借助 NVIDIA Jetson™ 将生成式 AI…

Optimistic乐观挑战游戏Sharelock审计大赛

1. 引言 Optimistic的Sherlock审计大赛已进入升级期&#xff0c;fault proofs距离OP主网上线又更近一步了。本文将分享一些初步竞赛结果以及通往Stage 1的后续安排。 2. 审计状态更新 2024年3月27日&#xff0c;Optimistic团队开始针对拟议的 OP Stack fault proof系统进行 …

Django之搭配内网穿透

一&#xff0c;安装coplar 二&#xff0c;开启8087的内网穿透 三&#xff0c;setting.py中加入如下配置&#xff1a; ALLOWED_HOSTS [*]CSRF_TRUSTED_ORIGINS ["https://localhost:8087", "http://localhost:8087"]四&#xff0c;启动项目 五&#xff…

Java | Leetcode Java题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; class Solution {public int[][] generateMatrix(int n) {int num 1;int[][] matrix new int[n][n];int left 0, right n - 1, top 0, bottom n - 1;while (left < right && top < bottom) {for (int column left; co…

react 基于qrcode.react生成颜色不同 , 样式不同的二维码

实现效果: 1 首先在react中 , 导入下载qrcode.react npm install qrcode.react2 在react中导入使用 , 并导入ui样式 import QRcode1 from /assets/images/QRcode1.png import QRcode2 from /assets/images/QRcode2.png import QRcode3 from /assets/images/QRcode3.png impo…

基于ssm+vue+Mysql的药源购物网站

开发语言&#xff1a;Java框架&#xff1a;ssmJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.…