SpringCloud Ribbon / Feign

news2024/11/14 21:18:42

文章目录

    • 什么是Ribbon?
    • Ribbon的作用?
    • 什么是Feign?
    • Feign的作用?

什么是Ribbon?

Spring Cloud Ribbon 是基于Netflix Ribbon实现的一套客户端负载均衡的工具.

Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起,Ribbon的客户端组件提供一系列完整的配置项,如:连接超时、重试等等。
就是是说,在配置文件中列出LoadBalancer(LB:负载均衡)后面所有的机器,Ribbon会自动帮助我们基于某种规则(如简单轮询、随机连接等)去连接这些机器,我们可以使用Ribbon实现自定义的负载均衡算法。

Ribbon的作用?

1.进行负载均衡(LB),负载均衡简单来说就是将用户的请求平摊到多个服务上,从而达到HA(高可用)。
常见的负载均衡的软件有Nginx,Lvs等。
dubbo、SpringCloud中都提供了负载均衡,SpringCloud的负载均衡算法可以自定义。
负载均衡可以分为:
(1)集中式LB
在服务的消费方和提供方之间使用独立的LB设备,如Nginx(反向代理服务器),由该设备把请求通过某种策略转发给服务的提供方。
在这里插入图片描述
(2)进程式LB
将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些地址可用,然后自己再从这些地址中选出一个合适的服务器。
Ribbon属于进程内LB,它是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址

什么是Feign?

feign是声明式 web service客户端,它让微服务之间的调用变得更简单了,类似于controller调用service.
SpringCloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的Http客户端.

Feign的作用?

1.使编写Java Http客户端变得更加容易
2.前面在使用Ribbon+RestTemplate时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常会针对每个微服务自行封装一些客户端类来包装这些这些依赖服务的调用。
Feign在此基础上做了进一步封装,在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它(类似于dao接口上标注Mapper注解,现在是一个微服务上标注一个Feign注解)。
这样就完成对服务提供方的接口绑定,简化了使用SpringCloud Ribbon时,自动封装服务调用客户端的开发量。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

介绍HTTP

介绍 HTTP HTTP 协议用于客户端和服务器端之间的通信。请求访问资源的一端被称为客户端, 而提供资源响应的一端被称为服务器端。 HTTP 是一种不保存状态的协议,即无状态(stateless) 协议,它不对之前发生过的请求和响…

Kotlin高仿微信-第54篇-扫一扫

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

安卓APP源码和报告——音乐播放器

课 程 设 计 报 告 院 系:专 业:题 目:科 目:学 生:指导教师:完成时间:目 录 1. 引言1 1.1 目的1 1.2 背景1 2. 需求分析1 3. 系统设计1 3.1总体设计1 3.2功能设计1 4. 系统开发2 4.1…

秋招经验分享:最终我还是选择了百度

点击进入—>3D视觉工坊学习交流群自我介绍感谢工坊的邀请,来做这次秋招经验的分享。本科和研究生都是自动化专业,研究生期间做移动机器人的定位方向,现在是百度的一名算法工程师,很喜欢现在的工作环境和氛围,强烈推…

【LeetCode每日一题】——72.编辑距离

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 字符串 二【题目难度】 困难 三【题目编号】 72.编辑距离 四【题目描述】 给你两个单词 word…

【Linux】常用的Linux命令(初学者必读)

一、学习Linux的原因 开源,免费系统迭代更新系统性能稳定安全性高多任务,多用户耗资源少内核小应用领域广泛使用及入门容易 二、Linux常用的命令 我使用的Linux环境是在 腾讯云服务器上的Centos 7和 Xshell。 下面我把常用的一些命令分成了几个部分&am…

VPS8505 微功率隔离电源专用芯片2.3-6VIN/24V/1A 功率管 替代金升阳模块

文章目录 前言一、是什么?二、特点三、应用领域四、简化应用五、引脚及功能六、参数测试电路 总结前言 隔离电源市场,一直被塑封模块产品占领,之前国内无专业 做隔离芯片的厂家,市场以模块厂进口芯片方案为主;…

深入 Java 线程池:从设计思想到源码解读

为什么需要线程池 我们知道创建线程的常用方式就是 new Thread() ,而每一次 new Thread() 都会重新创建一个线程,而线程的创建和销毁都需要耗时的,不仅会消耗系统资源,还会降低系统的稳定性。在 jdk1.5 的 JUC 包中有一个 Execut…

从实用角度浅析前端全链路质量监控中台技术方案

大厂技术 高级前端 Node进阶点击上方 程序员成长指北,关注公众号回复1,加入高级Node交流群感谢作者陈煮酒的投稿。前言无论是纯前端业务还是服务端业务,线上质量的保障都是我们的底线要求,也是我们日常需要花费很多精力关注的环…

【大数据入门核心技术-Zookeeper】(五)ZooKeeper集群搭建

目录 一、准备工作 1、集群分布 2、创建数据目录 3、下载安装包 二、解压安装 1、解压 2、修改配置文件zoo.cfg 3、添加myid配置 4、分发zk文件夹和分别新建myid 5、配置环境变量 6、三台机器分别启动zookeeper服务 一、准备工作 1、集群分布 服务器IP主机名myid的…

有损压缩与无损压缩

有损压缩与无损压缩数据压缩有损压缩无损压缩有损压缩与无损压缩的区别Which One to Use?Final Words有损压缩、无损压缩(图片、音频、视频)图片文件格式音频文件格式视频文件格式数据压缩 数据压缩(Data Compression)是减小任何…

教你6招轻松搞定 网站被木马反复篡改

提到网络被恶意篡改,应该让很多做了百度竞价的企业官网怀恨已久了吧?这类行为的目的就是通过这些受害网站获得排名并跳转到违法网站,达到不法的目的。对于企业来说不但损失了百度竞价的费用,还对企业形象造成很大的影响。甚至直接…

【Flink】检查点算法实现原理之检查点分界线

一 检查点的实现算法 一种简单的想法(同步的思想) 暂停应用保存状态到检查点再重新恢复应用(Spark Streaming) Flink 的改进实现(异步的思想) 基于 Chandy-Lamport 算法的分布式快照算法将检查点的保存和数…

20221203使用python3处理Google翻译英文SRT格式字幕

20221203使用python3处理Google翻译英文SRT格式字幕 1、暂时不处理UNICODE编码的TXT,本例以ANSI编码的TXT为准。 2、将来处理自动处理目录中的全部TXT文件。(甚至递归处理子目录中的TXT文件) 源码: #f_pathrC:\Users\Admin\Desk…

如何解hard算法题?

如何解困难题?前言一、案例二、困难题拆解1、自己的思路2、官方的思路3、源码Javagolang总结参考文献前言 上一篇文章写bitCount源码解析,对困难题有一些抽象的理解。 困难题就是一个个简单的知识点组成,加上其内在的逻辑联系。所以一个困难…

S2SH志愿者捐赠管理系统|捐助计算机毕业论文Java项目源码下载

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 《基于S2SH实现的志愿者捐赠管理系统》该项目采用技术jsp、strust2、Spring、hibernate、tomcat服务器、mysql数据库 ,项目含有源码、…

02、数据卷(Data Volumes)以及dockefile详解

目录 1、Docker 数据管理 2、数据卷(Data Volumes) 3、数据卷容器 4、dockerfile 5、dockerfile基本结构 6、docker使用Dockerfile创建jdk容器 启动虚拟机,进入CentOS 7、dockerfile实践经验 1、Docker 数据管理 在生产环境中使用 Docker ,往往需…

混合动力电动车优化调度与建模(发动机,电机,电池组等组件建模)(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文&…

6-4布线问题(分支限界)

6-4布线问题(分支限界) 一、问题描述 印刷电路板将布线区域划分成m*n个方格阵列,如图(1)所示。 精确的电路布线问题要求确定连接方格a的中点到方格b的中点的最短布线方案。 在布线时,电路只能沿直线或直角布线,如图(2)所示。 为了避免线路相交&#xf…

C语言第十二课(下):操作符详解【逗号表达式、下标引用、函数调用、结构成员操作符与操作符属性】

目录 前言: 一、逗号表达式(exp1,exp2,exp3,...,expN): 二、下标引用、函数调用和结构成员[ ]、( )、. 、->: 1.下标引用操作符[ ]: 2.函数调用操作符( …