1.1 什么是Ribbon

目前主流的负载方案分为以下两种:

  • 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 交换机,F5),也有软件的(比如 Nginx)。
  • 客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。

Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用这些服务。Ribbon也可以实现我们自己的负载均衡算法。

1.2 客户端的负载均衡

例如spring cloud中的ribbon,客户端会有一个服务器地址列表,在发送请求前通过负载均衡算法选择一个服务器,然后进行访问,这就是客户端负载均衡;即在客户端就进行负载均衡算法分配。

1.3 服务端的负载均衡

例如Nginx,通过Nginx进行负载均衡,先发送请求,然后通过负载均衡算法,在多个服务器之间选择一个进行访问;即在服务器端再进行负载均衡算法分配。需要在nginx配置所有的服务提供者信息。

客户端负载均衡就是自己想去吃蛙来哒,有很多家蛙来哒,掏出手机,手机就是中间件,手机可以根据评分,根据距离来选择一家蛙来哒让你选择一家去吃。
而服务端负载均衡就是我自己知道附近所有的蛙来哒,我自己选择一家去吃。

1.4 常见负载均衡算法

  • 随机,通过随机选择服务进行执行,一般这种方式使用较少;
  • 轮训,负载均衡默认实现方式,请求来之后排队处理;
  • 加权轮训,通过对服务器性能的分型,给高配置,低负载的服务器分配更高的权重,均衡各个服务器的压力;
  • 地址Hash,通过客户端请求的地址的HASH值取模映射进行服务器调度。 ip —>hash
  • 最小链接数,即使请求均衡了,压力不一定会均衡,最小连接数法就是根据服务器的情况,比如请求积压数等参数,将请求分配到当前压力最小的服务器上。 最小活跃数

1、Ribbon概述相关推荐

  1. netflix ribbon概述

    LB方案分类 目前主流的LB方案可分成两类:一种是集中式LB, 即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略 ...

  2. JavaEE进阶知识学习-----SpringCloud(六)Ribbon负载均衡

    Ribbon负载均衡 Ribbon概述 Spring Cloude Ribbon是基于Netfilx Ribbon实现的一套客户端 负载均衡的工具,简单说,Ribbon是Netfilix发布的开源项目 ...

  3. SpringCloud神兽(二)之Ribbon

    一. Ribbon概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客 ...

  4. 【微服务】服务调用----Ribbon

    服务调用----Ribbon 前言 Ribbon概述 负载均衡 负载均衡策略 Ribbon实现负载均衡 导入依赖 添加配置 饥饿加载 前言 大家好,我是DJ李淳罡,微服务是现在面试中必不可少的一项技能 ...

  5. SpringCloud+SpringCloudAlibaba

    版本选择: SpringBoot:2.6.11 SpringCloud:2021.0.4(由SpringCloud决定SpringBoot的版本) SpringCloudAlibaba:2021.0. ...

  6. java重新定义_重新定义Spring Cloud实战 PDF 下载

    资料目录: 前言 第1章 微服务与SpringCloud1 1.1 微服务架构概述1 1.1.1 应用架构的发展1 1.1.2 微服务架构3 1.1.3 微服务解决方案4 1.2 Spring Clo ...

  7. Ribbon--概述

    Ribbon概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端 ...

  8. 黑马4天从浅入深精通SpringCloud 微服务架构(完整资料)

    目录:/001 黑马4天从浅入深精通SpringCloud 微服务架构(完整资料)       ┣━━day1       ┃    ┣━━01-课程介绍.mp4       ┃    ┣━━02-系 ...

  9. SpringCloud微服务全家桶

    SpringCloud微服务全家桶 1.单体架构 单体架构示意图 单体架构的优缺点 优点 缺点 2.微服务概述 微服务 微服务架构 技术维度理解 微服务的优缺点 微服务技术栈有哪些? 3.spring ...

最新文章

  1. NanoPi NEO Air使用七:获取并编译U-boot和Linux的源码
  2. 手机版html页面左右滑动切换页面,移动端手指左右滑动切换内容demo
  3. 【Flask项目2】python对象分页数据序列化基类(5)
  4. 再给大家发 200 个红包!
  5. centos安装python3.4 pip3
  6. Linux Mysql5.6安装
  7. 银行理财子公司的“超级”玩法
  8. Pytm:威胁建模框架
  9. win7 win10 配置共享文件夹
  10. 解决“桌面右键单击文件夹鼠标一直转圈”
  11. python贡献度分析以及相关性分析小例子
  12. OEL安装RAC 配置DNS文档
  13. py处理网段转化模块
  14. 微信公众号之微信登录
  15. android google 登录登出接入
  16. 从工控网络安全攻击中学习的经验
  17. 基于java web 的企业员工信息管理系统的设计与实现
  18. 【2021.03.19】长调用与短调用
  19. 【第五章 | 存储器管理】《操作系统 慕课版》课后答案 + 复习
  20. 服务器数据导出到excel文件,从外部数据源 (Power Query) 导入数据

热门文章

  1. 《用 Python 学微积分》笔记 3
  2. 基于莱维飞行和随机游动策略的灰狼算法-附代码
  3. 自定义provider
  4. java-net-php-python-jspm现代化社区去也管理系统计算机毕业设计程序
  5. The server time zone value ‘‘ is unrecognized or represents more than one time zone.
  6. 常见的浏览器有哪些?其核心分别是什么 ?
  7. Failed to check the status of the service. No provider available for the service【已解决】
  8. vscode文件图标消失
  9. aws高可用mysql实现_Amazon RDS 的高可用性(多可用区) - Amazon Relational Database Service...
  10. 移动应用开发的未来是什么?——六大趋势指引企业顺水行舟