Spring Cloud简介-OpenFeigh和Ribbon(4)

关于OpenFeigh前一篇已经介绍,这节主要介绍Ribbon

Ribbon是一个负载均衡组件,主要在针对多个提供者的时候,消费者选择哪一个提供者的一种负载均衡调用。

1.负载均衡算法

  • RoundRobinRule(轮询策略)

        默认采用的策略,按顺序来轮询

  • RandomRule(随机策略)

       随机选择一个

  • RetryRule(失败重试轮询策略)

        如果轮询失败则在指定时间内重试,默认500毫秒

  • BestAvailableRule(并发量最小的策略)

        连接消费者最小的提供者优先选择

  • AvailabilityFilteringRule(过滤断开状态的或连接超时的提供者在轮询策略)

        过滤掉断开状态的和连接超时的,在轮询选择

  • ZoneAvoidanceRule(综合判断性能和可用性选择策略)

        综合判断提供者所在区域性能和可用性选择服务器

  • WeightedResponseTimeRule(权重响应时间策略)

        刚启动会用轮询策略,根据提供者的平均响应时间计算权重,响应时间越短,权重越高,

        后面越可能被选中

2.修改负载均衡策略

在消费者工程中application.yml中需要指定微服务名

#提供者微服务名称
msc-provider-depart:
  ribbon: #指定策略
    NFloadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule

 3.负载均衡测试

复制之前的提供者工程,更改端口号,微服务名称不用改,开启3个提供者,输出通过端口区分

启动后可以看到eureka中一个提供者对应3个应用服务

 访问消费者信息可以看到每次访问对应端口都会变

 4.自定义负载均衡策略

 实现IRule接口,重写方法choose实现自己的策略,然后再yml中指定自定义策略同上,最后再@configuration配置类中注册自己添加的策略bean

@bean
public IRule MyRule(){
    return new MyCusRule();
}

目前阿里将ribbon放到了nacos服务发现的组件中了,如果再阿里云仓库下载openFeigh发现Rule接口没有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

意向天开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值