Spring Cloud 学习系列:(六

return rule;

}

BeanType 是 IRule,beanName 是ribbonRule,ClassName 是 ZoneAvoidanceRule,这是一种根据服务提供者所在 Zone 的性能以及服务提供者可用性综合计算,选择提供者节点的负载均衡规则。

在 Spring Cloud 中,Ribbon 默认的配置类是 RibbonClientConfiguration,也可以使用一个 POJO 自定义 Ribbon 的配置(自定义配置会覆盖默认配置)。这种配置是细粒度的,不同的 Ribbon 客户端可以使用不同的配置。

(1)、将上一篇的 microservice-eureka-ribbon 的 artifactId 改成 microservice-eureka-ribbon-customizing。

(2)、创建 Ribbon 的配置类

package com.riemann.microserviceproviderservicehi;

import com.netflix.loadbalancer.IRule;

import com.netflix.loadbalancer.RandomRule;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class RibbonConfiguration {

@Bean

public IRule ribbonRule() {

// 负载均衡规则,改为随机

return new RandomRule();

}

}

(3)、创建一个空类,并在其上添加 @Configuration 和 @RibbonClient 注解。

package com.riemann.microserviceproviderservicehi;

import org.springframework.cloud.netflix.ribbon.RibbonClient;

import org.springframework.context.annotation.Configuration;

/**

  • 使用 RibbonClient,为特定 name的 Ribbon Client 自定义配置。

  • 使用 @RibbonClient 的 configuration 属性,指定 Ribbon 的配置类

*/

@Configuration

@RibbonClient(name = “microservice-provider-service-hi”, configuration = RibbonConfiguration.class)

pu 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 blic class TestConfiguration {}

2、使用属性自定义 Ribbon 配置

从 Spring Cloud Netflix 1.2.0 开始(Spring Cloud Camden SR4 使用的版本是1.2.4),Ribbon 支持使用属性自定义 Ribbon 客户端。这种方式比使用 Java 代码配置的方式更加方便。

支持的属性如下,配置的前缀是 clientName.ribbon. 。

  • NFLoadBalancerClassName: 配置 ILoadBalancer 的实现类

  • NFLoadBalancerRuleClassName: 配置 IRule 的实现类

  • NFLoadBalancerPingClassName: 配置 IPing 的实现类

  • NIWSServerListClassName: 配置 ServerList 的实现类

  • NIWSServerListFilterClassName: 配置 ServerListFilter 的实现类

(1)、在 microservice-provider-service-ribbon-customizing 项目中的 application.yml 中添加以下内容即可:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值