SpringCloud 通过设置Properties自定义Ribbon客户端
从版本1.2.0开始,Spring Cloud Netflix现在支持通过将属性设置为与Ribbon文档兼容来自定义Ribbon客户端。
这使您可以在启动时在不同环境中更改行为。
以下列表显示了受支持的属性>:
<clientName>.ribbon.NFLoadBalancerClassName:应实施ILoadBalancer<clientName>.ribbon.NFLoadBalancerRuleClassName:应实施IRule<clientName>.ribbon.NFLoadBalancerPingClassName:应实施IPing<clientName>.ribbon.NIWSServerListClassName:应实施ServerList<clientName>.ribbon.NIWSServerListFilterClassName:应实施ServerListFilter
这些属性中定义的类优先于使用@RibbonClient(configuration=MyRibbonConfig.class)定义的beans和Spring Cloud Netflix提供的默认值。
要为名为users的服务名称设置IRule,可以设置以下属性:
application.yml。
users:
ribbon:
NIWSServerListClassName: com.netflix.loadbalancer.ConfigurationBasedServerList
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule