Ribbon

  • SpringCloud Ribbon 是基于NetFlix Ribbon实现的一套客户端负载均衡的工具
  • 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer (简称LB) 后面所有的机器,Ribbon 会自动帮助你基于某种规则(如 简单轮询,随机连接等 )去连接这些机器。我们容易使用Ribbon 实现自定义负载均衡的算法

负载均衡

  • 什么是负载均衡

Load balancing,即负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
常见的负载均衡有软件:Nginx ,LVS 硬件 F5等

  • 为什么需要负载均衡

我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站、电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人。而哪些距离较远的服务点或者入口就宽松很多。

  • 负载均很的简单分类

1.集中式LB:服务在消费方和提供方之间使用独立的LB措施,如Nginx:反向代理!,由该设施把访问请求通过某种策略转发质服务的提供方
2.进程式LB:将LB集成到消费方,消费方从服务注册中心获知有那些地址可用,然后自己再从这些地址中选出一个合适的服务器。Ribbon就属于进程内LB,它是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址。

Ribbon负载均实列

1.导入依赖,Ribbon是进程式LB,在消费方配置。

<!--Ribbn--><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-ribbon --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.4.6.RELEASE</version></dependency><!--Eureka客户端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.4.6.RELEASE</version></dependency>

2.配置文件

server:port: 80#配置Eureka
eureka:client:service-url:defaultZone: http://localhost:7001/eureka/, http://localhost:7002/eureka/, http://localhost:7003/eureka/register-with-eureka: false #不向Eureka注册自己

3.启动负载均衡

  //配置负载均衡是新RestTemplate@Bean@LoadBalanced //Ribbonpublic RestTemplate getRestTemplate(){return  new RestTemplate();}

4.消费方通过负载均衡访问不同地址

//private static  final String REST_URL_RREFIX = "http://localhost:8001";//Ribbon 我们这里的地址应该是一个变量,通过服务名来访问private static  final String REST_URL_RREFIX = "http://springcloud-provider-dept";

SpringCloud(7)Ribbon 与负载均衡相关推荐

  1. 【微服务架构】SpringCloud使用Ribbon实现负载均衡

    说在前面 软负载均衡的实现方式有两种,分别是服务端的负载均衡和客户端的负载均衡 服务端负载均衡:当浏览器向后台发出请求的时候,会首先向反向代理服务器发送请求,反向代理服务器会根据客户端部署的ip:po ...

  2. SpringCloud的Ribbon自定义负载均衡算法

    1.Ribbon默认使用RoundRobinRule策略轮询选择server 策略名 策略声明 策略描述 实现说明 BestAvailableRule public class BestAvailab ...

  3. 6.Springcloud的Ribbon的负载均衡算法解析及配置方式

    项目地址: github地址 配置方式 1.在restTemplate配置类里面添加一个bean,用于确认所属的负载均衡算法类类型,全部代码如下: package com.debuggg.cloud. ...

  4. SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用

    什么是SpringCloud 微服务架构 • "微服务"一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://mar ...

  5. SpringCloud Hoxton版微服务- Ribbon实现负载均衡

    Ribbon实现负载均衡 Ribbon概念 一.Ribbon策略 二.配置使用 1.编写服务提供者 2.编写服务消费者 3.测试负载均衡随机策略 Ribbon概念 Spring Cloud Ribbo ...

  6. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)

    跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...

  7. springcloud ribbon 配置负载均衡策略以及自定义策略

    一.系统内置的策略有以下几种.  这个负载策略配置说白了就是让 Ribbon 这个客户端负载均衡器怎么进行访问服务提供者列表.是轮流访问?随机访问?权重?等. Ribbon 的负载均衡策略 策略类   ...

  8. springcloud ribbon实现负载均衡的时候,提示Request URI does not contain a valid hostname: htt...

    qq社区:541122375,群名springClould全家桶 问题描述:  org.springframework.web.util.NestedServletException: Request ...

  9. ribbon, restTemplate 负载均衡服务调用

    ribbon ribbon concept ribbon核心组件IRule 模仿源码重写轮询 ribbon concept spring cloud ribbon 是基于Netflix ribbon实 ...

最新文章

  1. 全新 DOCKER PALS 计划上线,带给您不一样的参会体验!...
  2. 微软850位顶级人才不做Windows研发
  3. FE.ES-JavaScript的模块化历史
  4. 如何解决机器学习中数据不平衡问题
  5. C语言中 void* 详解及应用
  6. java doc说明书_JAVADOC 常见使用方法 帮助文档
  7. C++智能指针使用指南 part2:智能指针本身的方法以及使用建议
  8. nodejs python 通信_Nodejs环境实现socket通信过程解析
  9. Bandicam_v4.6.5便携特别版 高清视频录制工具
  10. 如何打造一个让粉丝一见就能收钱的朋友圈
  11. Java日常编程优化细节
  12. 报表性能优化方案之单数据集分页SQL实现层式报表
  13. 是时候该开始读一读JDK源码了
  14. android 2D游戏开发,引擎设计(三) 实验脚本编写与纸娃娃系统
  15. Windows10 最新版官方iso镜像(截至2021/02)win10 2009(20h2)
  16. [MIT6.006 算法导论] 1. Peak Finding 寻峰
  17. Vue.js 3 ssr 中报错Hydration node mismatch: - Client vnode: div - Server rendered DOM:已解决
  18. 华硕主板+ubuntu18.04+3090驱动安装踩坑记录
  19. 硕士论文免费查重网站不靠谱,最好用知网!
  20. 京峰linux课程目录,京峰教育 Linux编程Shell从入门到精通视频教程

热门文章

  1. 服务器没响应smtp,smtp服务器网关没响应
  2. 员工、领导、工资、前途
  3. Excel 制作自动记录考勤表
  4. Android闹钟动画,Android实现闹钟小程序
  5. PTA 7-189 sdut-sel-while-1 社会主义核心价值观之理解与输出
  6. oracle rman 00571,Oracle RMAN传输解决办法
  7. python二叉树中序遍历迭代法
  8. linux echo命令_如何在Linux上使用Echo命令
  9. 大学之路:大一时蠢蠢欲动,大四拉箱出校园时,你留下了多少遗憾?
  10. IBM院士:拯救地球—工程师站出来!