当前位置: 首页 > article >正文

客户端负载均衡Ribbon 小实例

文章目录

  • 一,概述
  • 二,实现过程
  • 三,项目源码
    • 1. 源码放送:
    • 2. 部署方式
  • 四,功能演示
  • 五,其他

一,概述

一般来说,提到负载均衡,大家一般很容易想到浏览器 -> NGINX -> 反向代理多个Tomcat这样的架构图——业界管这种负载均衡模式叫“服务器端负载均衡”,因为此种模式下,负载均衡算法是NGINX提供的,而NGINX部署在服务器端。

二,实现过程

一般情况下,负载均衡组件Ribbon和微服务注册中心Eureka是配合使用的。
为了在非springCloud微服务项目中,使用Ribbon的客户端负载均衡能力,我们可以按如下步骤实现:

  1. 定义服务的被调用方Client,编写webApi接口
  2. 定义服务的调用方Cousumer,调用webApi接口
  3. 定义网关模块Gateway,通过定义路由的方式重新定义webApi接口路径,并引入Ribbon客户端负载均衡
  4. 将步骤2中的WebApi地址切换为网关模块路由接口地址,从而使原来的webApi地址具有了客户端负载均衡功能
  5. 使用docker部署Client(多实例)、Gateway,并在编排文件中使用服务名代替客户端列表地址,解耦Cousumer与Client之间的代码接口。

三,项目源码

在这里插入图片描述

1. 源码放送:

https://gitee.com/00fly/microservice-all-in-one/tree/master/ribbon-demo

2. 部署方式

这边提供了3种docker部署方式

  • 自动ip(推荐)
  • 固定ip
  • docker scale 水平扩展

分别对应上图的docker-auto-ip、docker-fix-ip、docker-scale 目录,有兴趣的同学,可以研究研究!

四,功能演示

http://124.71.129.204:8085/doc.html
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五,其他

此实例整合了gateway、ribbon、feign、hystrix、swagger,

大家会发现hystrix熔断器起作用时并不从负载均衡中移除故障节点,大家可以思考比较下hystrix和ribbon 异同!


有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

-over-


http://www.kler.cn/a/297671.html

相关文章:

  • Class4——Esp32|Thonny两种方式同过电脑控制LED灯,路由器与电脑自带热点连接ESP32
  • 已配置好的Linux CentOS7虚拟机转换为可视化界面问题
  • VUE面试题1*
  • 卷积神经网络(二)CIFAR100类别分类
  • (计算机网络)运输层
  • 第100+24步 ChatGPT学习:概率校准 Beta Calibration
  • 智能提取:OfficeImagesExtractor让文档图片提取更简单
  • Java笔试面试题AI答之单元测试JUnit(3)
  • 一. Unity实现虚拟摇杆及屏幕自适应功能
  • Zotero同步文献方法
  • 如何在Linux 上运行 SciChart WPF图表控件?
  • C语言实现普通二叉树的数据结构
  • RTX AI PC 和工作站上部署多样化 AI 应用支持 Multi-LoRA
  • 使用 `Vitesse Uni App` 创建微信小程序并配置 uview-plus 和 alovajs
  • 漏洞披露-信呼-OA
  • MIST:用于组织病理学亚型预测的多实例选择性Transformer|文献速递--基于深度学习的医学影像病灶分割
  • MNIST数据集内容查看
  • 【前端】探索webpack3项目build速度优化, 优化个p
  • 【信创】推荐一款在龙芯CPU终端上使用的WiFi接收器 _ 统信 _ 麒麟
  • ThreadLocal 释放的方式有哪些