[000-01-016].第6节:SpringCloud--Ribbon

我的后端学习大纲

SpringCloud学习大纲


在这里插入图片描述

5.1 Ribbon 介绍

5.1.1 Ribbon 是什么

  1. Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端 负载均衡的工具。
  2. Ribbon 主要功能是提供客户端负载均衡算法和服务调用
  3. Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。
  4. Ribbon 会基于某种规则(如简单轮询,随机连接等)去连接指定服务
  5. 程序员很容易使用 Ribbon 的负载均衡算法实现负载均衡
  6. 一句话: Ribbon: 负载均衡+RestTemplate 调用

5.1.2 官网

5.1.2.1 https://github.com/Netflix/ribbon

5.1.3 Ribbon 进入维护状态

  1. 官网地址: https://github.com/Netflix/ribbon
    在这里插入图片描述
  2. Ribbon 目前进入维护模式, 未来替换方案 是 Spring Cloud LoadBalancer

5.1.4 LB(Load Balance)

5.1.4.1 LB 分类

  1. 集中式 LB
     即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5,也可以是
    软件,如Nginx),由该设施负责把访问请求通过某种策略转发至服务的提供方;  LB(Load Balance 负载均衡)
  2. 进程内 LB
     将LB逻辑集成到消费方,消费方从服务注册中心获知有哪些服务地址可用,然后再
    从这些地址中选择出一个合适的服务地址。
     Ribbon就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获
    取到服务提供方的地址

5.1.4.2 实例-前面 member-consumer 轮询负载访问 10000/10002 底层就是 Ribbon 默认的轮询负载算法

5.2 Ribbon 原理

5.2.1 Ribbon 架构图&机制

在这里插入图片描述
Ribbon 机制

  1. 先选择 EurekaServer,它优先选择在同一个区域内负载较少的 server
  2. 再根据用户指定的策略,在从 server 取到的服务注册列表中选择一个地址
  3. Ribbon 提供了多种策略∶ 比如轮询、随机和根据响应时间加权。

5.2.2 Ribbon 常见负载算法:

在这里插入图片描述

5.3 替换负载均衡算法-应用实例

5.3.1 需求分析/图解

  1. 需求: 将默认的轮询算法改成随机算法 RandomRule
  2. 浏览器输入 : http://localhost/member/consumer/get/1
  3. 要求 访问的 10000/10002 端口的服务是随机的

5.3.2 代码实现:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值