栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Ribbon 快速上手

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Ribbon 快速上手

Ribbon 快速上手

Ribbon 是一个负载均衡组件,基于Http和TCP客户端的负载均衡工具,通过spring cloud 封装,面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。有多种负载均衡的策略。不需要,像注册中心之类的需要部署,Ribbon 可以存在每一个spring Cloud 构建的微服务基础设施中,Feign,zuul都集成了Ribbon

Ribbon官网文档

spring Cloud Ribbon 官中

文章目录
  • Ribbon 快速上手
    • 负载均衡策略
      • 内置策略
    • 核心 接口
  • 项目实战
  • 底部

负载均衡策略

内置策略
策略类策略描述实现
RandomRule随机随机调用 service
RoundRobinRule轮询循环选择 service
RetryRule重试对选定的负载均衡策略机上重试在一个配置时间段内当选择服务器不成功,则一直尝试 subRule 方式选择一个可用 服务
BestAvailableRule最低并发选择一个并发请求量最少的服务器逐个考察服务器,如果服务器的断路器打开,则忽略,再选择其他并发连接数最低的服务
AvailabilityFiteringRule可用过滤过滤一直连接失败的并标记为 circuit tipped 的服务
过滤高并发连接服务器(active connections 超过配置值)
使用 AvailabilityPredicate 来包含过滤服务器逻辑。
WeightedResponseTimeRule响应时间加权根据服务器的响应时间分配权重,响应时间越长,权重月底前后台线程,定期从status 中读取响应时间,计算权重。
第一次计算前使用轮训的策略选择服务器
ZoneAvoidanceRule区域权衡综合判断服务器所在区域的性能和服务器可用性来轮询选择服务器,并且判断一个Zone的运气性能是否可用。自动剔除不可用的 Zone 中的所有服务器使用 ZoneAvoidancePredicate 和 AvailabilityPredicate 来判断是否选择某个服务器,前一个判断判定一个zone 的运行性能是否可用,剔除不可用的zone 的所有服务器,AvailabilityPredicate 则用与过滤掉连接数过多的服务器
核心 接口

接口描述默认实现类
IClientConfig定义Ribbon 中管理配置接口DefaultClientConfigImpl
IRule定义Ribbon 中负载均衡的策略接口ZoneAvoidanceRule
IPing定义定期ping 服务检测可用性的接口DummyPing
ServerList定义获取服务列表方法的接口ConfigurationBasedServerList
ServerListFilter定义期望获取服务列表方法接口ZonePreferenceServerLsitFilter
ILoadBalancer定义负载均衡选择服务的核心方法的接口ZoneAwareLoadBalancer
ServerListUpDater为 DynamicServerListLoadBalancer 定义动态跟新服务列表的接口PollingServerListUpdater
项目实战

在此项目上修改的

nocas 本身就是使用 ribbon 做的负载均衡,只需要简单的配置即可
这里 IRule 是现象的策略,需要什么策略直接 new 即可。其他的地方代码都不需要修改


底部
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871409.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号