Ribbon负载均衡SpringCloud

Rebbon

什么是rebbon?

是一款基于HTTP和TCP的一款客户端负载均衡工具,基于Netflix Ribbon实现的.

负载均衡方案
  • 集中式负载均衡比如Ngix 反省代理,负载均衡,服务器端对外部的访问请求进行负载均衡
  • 进程内负载均衡 比如ribbon,将内部的服务调用进行负载均衡
负载均衡的策略
  • 轮询策略 RoundRobinRule 按顺序进行服务访问(默认)
  • 权重轮询策略 WeightedResponseTimeRule 根据每个provider的服务响应时间,响应越快,权重越高,被选中的可能性更高
  • 随机策略 RandomRule 随机选取服务进行访问
  • 最少并发策略 RetryRule BestAvailableRule 优先选取并发量小的服务进行访问
  • 可用性敏感词策略 AvailabilityFilteringRule 过滤高并发和一直连接失败的服务提供者
  • 区域敏感性策略 ZoneAvoidanceRule 考察一个区域内的服务可用性,对不可用的区域进行丢弃,从剩下的狳中选择可用的provider
用法

全局: 在启动类注入对应的负载均衡策略类 如下

@Bean
public RandomRule randomRule() {
    return new RandomRule();
}

**局部 **在配置文件中添加对应服务提供者的策在均衡策略

# 负载均衡策略
# service-provider 为调用的服务的名称
service-provider:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

Ribbon 点对点直连

点对点直连即跳过注册中心,直接连接服务提供者获取服务,一般在测试阶段使用,然后项目上线再注册到注册中心

操作方法

consumer 注释 eureka依赖和配置文件 (仅注释配置文件无效,因为约定大于配置)

引入rebbon依赖,配置文件关闭eureka,添加直连的服务地址

# 负载均衡策略
# service-provider 为调用的服务的名称
service-provider:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
    # 点对点直连模式,指定具体的 Provider 服务列表,多个用逗号隔开
    listOfServers: http://localhost:7070,http://localhost:7071

# 关闭 Eureka 实现 Ribbon 点对点直连
ribbon:
  eureka:
    enabled: false # false:关闭,true:开启

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值