springCloud:Ribbon实现客户端侧负载均衡-自定义Ribbon配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springCloud:Ribbon实现客户端侧负载均衡-自定义Ribbon配置相关的知识,希望对你有一定的参考价值。
一、简介
很多场景下,可能根据需要自定义的Ribbon的配置,例如修改Ribbon的负载均衡规则等。Spring cloud Camden允许使用Java代码或属性自定义Ribbon的配置。
二、使用Java代码自定义Ribbon配置
在Spring cloud中,Ribbon的默认配置如下,格式是:BeanType beanName:ClassName
1、IClientConfig ribbonClientConfig:DefaultClientConfigImpl
2、IRule ribbonPing:ZoneAvoidanceRule
3、IPing ribbonPing:NoOpPing
4、ServerList ribbonServerList:ConfigurationBasedServerList
5、ServerListFilter ribbonServerListFilter:ZonePreferenceServerListFilter
6、ILoadBalancer ribbonLoadBalancer:ZoneAwareLoadBalancer
分析一下如下代码:(org.springframework.cloud.netflix.ribbon.RibbonClientConfiguration)
@Bean @ConditionalOnMissingBean public IRule ribbonRule(IClientConfig config) { ZoneAvoidanceRule rule = new ZoneAvoidanceRule(); rule.initWithNiwsConfig(config); return rule; }
BeanType是IRule,beanName是ribbonRule,ClassName是ZoneAvoidanceRule,这是一种根据服务提供者所在Zone的性能以及服务提供者可用性综合计算,选择提供者节点的负载均衡规则。
未完:待续......
三、使用属性文件自定义Ribbon配置
本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1947281
以上是关于springCloud:Ribbon实现客户端侧负载均衡-自定义Ribbon配置的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用Ribbon 负载均衡自定义 Ribbon 配置禁用 Eureka 实现 Ribbon 调用)
SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用Ribbon 负载均衡自定义 Ribbon 配置禁用 Eureka 实现 Ribbon 调用)