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

springCloud3---ribbon

springcloud-04-自定义ribbon的配置方式

SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用Ribbon 负载均衡自定义 Ribbon 配置禁用 Eureka 实现 Ribbon 调用)

SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用Ribbon 负载均衡自定义 Ribbon 配置禁用 Eureka 实现 Ribbon 调用)

SpringCloud系列之三---Ribbon负载均衡使用