SpringCloud Ribbon / Feign
创始人
2024-03-14 20:18:41
0

文章目录

    • 什么是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时,自动封装服务调用客户端的开发量。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...