首页 > 代码库 > 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配置