天津建网站,第三方平台广告营销是什么,温州做网站老师,网站建设包含#x1f600;前言 本篇博文是关于SpringCloud Ribbon的基本介绍#xff0c;希望你能够喜欢 #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您的满意是我的动力… 前言 本篇博文是关于SpringCloud Ribbon的基本介绍希望你能够喜欢 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力
欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦 文章目录 SpringCloud RibbonRibbon 介绍Ribbon 是什么 官网Ribbon 进入维护状态LB(Load Balance)LB 分类1.集中式LB2.进程内LB实例 Ribbon 原理Ribbon 架构图机制Ribbon 机制 Ribbon 常见负载算法 替换负载均衡算法-应用实例需求分析/图解代码实现测试 SpringCloud Ribbon
Ribbon 介绍
Ribbon 是什么
Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。Ribbon 主要功能是提供客户端负载均衡算法和服务调用Ribbon 客户端组件提供一系列完善的配置项如连接超时重试等。Ribbon 会基于某种规则如简单轮询随机连接等去连接指定服务程序员很容易使用Ribbon 的负载均衡算法实现负载均衡一句话: Ribbon: 负载均衡RestTemplate 调用
官网
官网地址https://github.com/Netflix/ribbon
Ribbon 进入维护状态
官网地址: https://github.com/Netflix/ribbon Ribbon 目前进入维护模式, 未来替换方案是Spring Cloud LoadBalancer
LB(Load Balance)
LB 分类
1.集中式LB
即在服务的消费方和提供方之间使用独立的LB设施可以是硬件如F5也可以是软件如Nginx由该设施负责把访问请求通过某种策略转发至服务的提供方;LB(Load Balance 负载均衡)
2.进程内LB
将LB逻辑集成到消费方消费方从服务注册中心获知有哪些服务地址可用然后再从这些地址中选择出一个合适的服务地址。 Ribbon就属于进程内LB它只是一个类库集成于消费方进程消费方通过它来获取到服务提供方的地址。
实例
-前面member-consumer 轮询负载访问10000/10002 底层就是Ribbon 默认的轮询负载算法
Ribbon 原理
Ribbon 架构图机制 Ribbon 机制
先选择EurekaServer它优先选择在同一个区域内负载较少的server再根据用户指定的策略在从server 取到的服务注册列表中选择一个地址Ribbon 提供了多种策略∶ 比如轮询、随机和根据响应时间加权。
Ribbon 常见负载算法 替换负载均衡算法-应用实例
需求分析/图解
需求: 将默认的轮询算法改成随机算法RandomRule浏览器输入: http://localhost/member/consumer/get/1要求访问的10000/10002 端口的服务是随机的 代码实现
创建member-service-consumer-80 com/my/springcloud/config/RibbonRule.java
//配置自己的负载均衡算法
Configuration
public class RibbonRule {Beanpublic IRule myRibbonRule(){return new RandomRule();//随机负载均衡算法}
}2.修改member-service-consumer-80 com/my/springcloud/MemberConsumerApplication.java
EnableEurekaClient
SpringBootApplication
EnableDiscoveryClient //启用服务发现
//使用指定的Ribbon 负载均衡算法规则
RibbonClient(name MEMBER_SERVICE_PROVIDER_URL, configuration RibbonRule.class)
public class MemberConsumerApplication {public static void main(String[] args) {SpringApplication.run(MemberConsumerApplication.class, args);}
}测试
浏览器输入: http://localhost/member/consumer/get/1观察访问的10000/10002 端口的服务是随机的 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力