首页 > 其他分享 >Ribbon介绍和使用

Ribbon介绍和使用

时间:2022-12-14 14:37:21浏览次数:56  
标签:负载 调用 服务 介绍 均衡 使用 Ribbon

Ribbon是Netflix公司提供的一个在Spring Cloud中免费使用的客户端负载均衡器组件

它在集群中为各个客户端之间的通信提供支持,可以控制、管理HTTPTCP客户端的负载均衡。

Ribbon从Eureka注册获取访问服务提供者地址列表后,就可基于某种负载均衡算法,自动地帮助服务消费者去请求。

如图所示,展示了Ribbon获取服务清单并实现请求的流程。

 

 

Ribbon提供了一系列完善的配置选项,如连接超时、重试算法等。Ribbon还内置了可插拔、可定制的负载均衡组件。

 

在第9章中我们使用了RestTemplate 进行服务之间的访问,并且在配置的Bean上使用了@LoadBalanced注解,其实这时候RestTemplate 默认使用了Ribbon的负载均衡策略

Ribbon除了和RestTemplate结合实现客户端负载均衡之外,同样也被集成到了Feign中,当使用@FeignClient的时候,Feign也默认使用了Ribbon进行网络请求的负载均衡。

 

下面我们通过一个实例来看一下Ribbon负载均衡的使用。我们还是使用订单服务 调用 商品服务来测试和查看Ribbon的负载均衡。

首先我们启动一个Eureka注册中心和一个订单服务,然后配置两个名字一样但是端口号不一样(一个是7001,另外一个是7003)的商品服务

如图所示:

 

然后在 GoodsController中添加日志输出,用来确定调用的接口,如程序清单12-1所示。

 

 

然后启动商品服务,并在浏览器中访问两次订单接口,共需要查询6个商品,所以需要调用6次商品服务,然后在控制台中可以看到商品服务调用情况是轮询调用,而不是所有接口都在一个服务中调用,如图所示。

 

 

 

 

因此,我们了解到Ribbon的负载均衡策略默认为轮询调用服务清单中的服务。

标签:负载,调用,服务,介绍,均衡,使用,Ribbon
From: https://www.cnblogs.com/cnetsa/p/16982021.html

相关文章

  • k8s--service 之 HeadLiness、NodePort 使用
    前戏环境还是使用我们上节的环境HeadLiness在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes 提供了H......
  • Jmeter小白使用攻略
    《Jmeter小白使用攻略》 一、主界面 二、如何测试一个接口              ......
  • vue-cli 和 vite 全局变量定义和使用
    vue-clivue.config.js//第一步,在vue.config.js中定义//注意:定义的变量必须是APP_开头。这是vue-cli的硬性规范。process.env.APP_VERSION=require('./pack......
  • 2.0FreeRTOS文件介绍
    1、打开FreeRTOSv9.0.0,有两个文件夹FreeRTOS、FreeRTOS-Plus。FreeRTOS-Plus是一些第三方产品,一般用不到  2、打开FreeRTOS有Demo、License、Source Demo:官方为......
  • [WPF] 使用 MVVM Toolkit 构建 MVVM 程序
    1.什么是MVVMToolkit模型-视图-视图模型(MVVM)是用于解耦UI代码和非UI代码的UI体系结构设计模式。借助MVVM,可以在XAML中以声明方式定义UI,并使用数据绑......
  • 使用MATLAB的Simulink进行梯形速度曲线规划算法仿真
    simulink简介Simulink是美国Mathworks公司推出的MATLAB中的一种可视化仿真工具,用于多域仿真以及基于模型的设计,能够提供图形编辑器、可自定义的模块库以及求解器,能够进行......
  • SPEL注入流程分析及CTF中如何使用
    配置https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce,导入maven依赖为了后期debug调试简便些,可以修改一下控制器修改后运......
  • 使用pelican+git+码云pages建立静态markdown博客全过程
    ​​软件需求目录​​​​使用工具​​​​命令​​​​静态目录​​​​写博文​​​​发布博客​​​​博客功能拓展​​​​尾声​​软件需求目录pelicanpython-markdo......
  • Matlab遗传算法工具箱的使用及实例(非线性规划)
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Microk8s 安装 与使用指南
    我们已经知道,​​Kubernetes​​是基于容器的应用程序的首选编排平台,可以自动部署和扩展这些应用程序,并简化维护操作。但是,Kubernetes也有其自身的复杂性挑战。那么,企业如......