首页 > 代码库 > springCloud(8):Ribbon实现客户端侧负载均衡-自定义Ribbon配置
springCloud(8):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(8):Ribbon实现客户端侧负载均衡-自定义Ribbon配置