简介

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的,包括后续我们将要介绍的Feign,它也是基于Ribbon实现的工具。所以,对Spring Cloud Ribbon的理解和使用,对于我们使用Spring Cloud来构建微服务非常重要。

客户端负载均衡

负载均衡的架构图:

而客户端负载均衡和服务端负载均衡最大的不同点在于上面所提到服务清单所存储的位置。在客户端负载均衡中,所有客户端节点都维护着自己要访问的服务端清单,而这些服务端端清单来自于服务注册中心,比如上一章我们介绍的Eureka服务端。同服务端负载均衡的架构类似,在客户端负载均衡中也需要心跳去维护服务端清单的健康性,默认会创建针对各个服务治理框架的Ribbon自动化整合配置,比如Eureka中的org.springframework.cloud.netflix.ribbon.eureka.RibbonEurekaAutoConfiguration,Consul中的org.springframework.cloud.consul.discovery.RibbonConsulAutoConfiguration。在实际使用的时候,我们可以通过查看这两个类的实现,以找到它们的配置详情来帮助我们更好地使用它

通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用非常简单,只需要如下两步:
▪️服务提供者只需要启动多个服务实例并注册到一个注册中心或是多个相关联的服务注册中心。
▪️服务消费者直接通过调用被@LoadBalanced注解修饰过的RestTemplate来实现面向服务的接口调用。
这样,我们就可以将服务提供者的高可用以及服务消费者的负载均衡调用一起实现了。

源码类

CachingSpringLoadBalancerFactory

DefaultFeignLoadBalancedConfiguration

FeignLoadBalancer

FeignRetryPolicy

FeignRibbonClientAutoConfiguration

HttpClientFeignLoadBalancedConfiguration

LoadBalancerFeignClient

OkHttpFeignLoadBalancedConfiguration

RetryableFeignLoadBalancer

RibbonResponseStatusCodeException

参见:https://www.jianshu.com/p/1bd66db5dc46

CSDN-专业IT技术社区-登录​blog.csdn.net深入理解 Spring Cloud 核心组件与底层原理​mp.weixin.qq.com

springcloud配置负载均衡 及方式_Springcloud-Ribbon负载均衡NODO相关推荐

  1. SpringCloud[04]Ribbon负载均衡服务调用

    文章目录 Ribbon负载均衡服务调用 1. 概述 1. Ribbon是什么 2. Ribbon能做什么 2. Ribbon负载均衡演示 1. 架构说明 2. Ribbon的POM依赖 3. Rest ...

  2. Ribbon负载均衡 饥饿加载

    需要两份或多份相同的性质的服务的模块,地址与端口不同,服务模块名称相同,访问者通过名称进行访问 让访问者进行负载均衡的选择 在Eureka中发送这个路径我使用的是名字,而不是ip,这里面的负载均衡就是 ...

  3. SpringCloud:Ribbon负载均衡(基本使用、 负载均衡、自定义配置、禁用 Eureka 实现 Ribbon 调用)

    现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册的目的是希望所有的服务都统一归属到 Eureka 之中进 行处理,但是现在的问题,所有的微服务汇集到了 Eureka 之 ...

  4. SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Ribbon 负载均衡 2.具体内容 现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册 ...

  5. 博海拾贝--springcloud的组件及使用(4)Ribbon 负载均衡

    文章目录 前言 一.Ribbon是什么 二.Ribbon的实现 三.Ribbon的配置 前言 作为一个分布式微服务框架,负载均衡是必不可少的.负载均衡的手段很多 比如硬件方面的F5 ,软件层面的ngn ...

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

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

  7. SpringCloud源码:Ribbon负载均衡分析

    本文主要分析 SpringCloud 中 Ribbon 负载均衡流程和原理. SpringCloud版本为:Edgware.RELEASE. 一.时序图 和以前一样,先把图贴出来,直观一点: 二.源码 ...

  8. 【SpringCloud】Netflix源码解析之Ribbon:负载均衡策略的定义和实现

    Ribbon负载均衡策略定义 IRule其实就只做了一件事情Server choose(Object key),可以看到这个功能是在LB中定义(要求)的,LB把这个功能委托给IRule来实现.不同的I ...

  9. SpringCloud的Ribbon负载均衡

    Spring Cloud Ribbon相关学习: 简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix ...

  10. 四、SpringCloud——Ribbon负载均衡Ribbon自定义

    1 Ribbon简介 1)是什么 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功 ...

最新文章

  1. 在 Asp.NET MVC 中使用 SignalR 实现推送功能
  2. 【ASP.NET 进阶】验证码的实现
  3. Java内存模型深度解析:总结--转
  4. read web.config
  5. struts2官方 中文教程 系列六:表单验证
  6. 校招面试经验小分享,阿里腾讯美团字节实习offer
  7. caffe,deeplab,对Interp(差值)层的理解
  8. pandas 转化np数据_python,numpy,pandas数据处理之小技巧
  9. delphi 文字 动画 特效 控件_设计师的特效让程序员追砍3条街,220集AE软件教学视频,教他做人...
  10. 结束下面sql块_oracle: PL/SQL基本结构,语法,变量
  11. C++程序设计选择题
  12. Oracle 数据库导出(exp)导入(imp)说明
  13. 数据清洗与数据预处理浅析
  14. 【20200207】【lyk】TJOI2019 唱、跳、rap、篮球题解
  15. 静候Google I/O 2014大会开幕
  16. jQuery 画二维码
  17. 总结自己大学学习Java过程感悟
  18. Java工程师应该知道的Web安全
  19. 〖Python 数据库开发实战 - MySQL篇⑨〗- 什么是 SQL 语言、如何创建数据逻辑库及如何创建数据表
  20. php获取当前周得周一_php获取本周一的日期实现方法

热门文章

  1. 37. Element appendChild() 方法
  2. 6. php 基本语法
  3. 边界安全 - CDN/DMZ/网络协议
  4. 对JS中变量的浅微认识
  5. Python自动化运维_批量执行py脚本
  6. .net core2 发送电子邮件封装
  7. 如何面试前端工程师?
  8. a标签创建超链接,利用a标签创建锚点
  9. libgdx学习记录5——演员Actor
  10. jquery 几个实用的小方法