SpringCloud学习笔记-Ribbon,hystrix(三)

负载均衡
硬件方案:F5,Array等。
服务端软件方案:nginx\lvs等。
客户端软件方案:ribbon,sentinel等。

ribbon结合restTemplate用法:
在注册restTeimate时加入@LoadBalanced注解
结合Feign时,无需加注解

Ribbon的负载策略:
IRule接口:
RoundRobinRule 轮询策略 10次不可用返回 空
RandomRule 随机策略,随到空或不可用,会while不停的找服务
RetryRule 重试策略 500ms内不停的重试
BestAvailableRule 最小连接数策略,选取连接数最小的
AvailablltyFltereringRUle 可用过滤策略,是否可用,是否超限等
ZoneAvaidanceRule 区域平衡策略,默认策略,忽略区域,本盾是轮询

Ribbon组件:
ListOfServer 服务列表组件。
LoadBalancer 负载均衡调试管理
IRule 策略对象
IPing 向服务器发起心跳检查
ServerListFilter 过滤传入的服务
ServerListUpdate 服务列表更新操作。
RibbonLoadBalanceClient RestTemplate实际执行的请求。

服务熔断: 切断地下游服务的调用,往往和服务降级一起使用。
服务降级:返回兜底数据,默认数据。是一次求次的办法。
服务熔断和服务降级一般不作用于核心业务。

服务限流:
方法:限制总并发数,如连接池,线程池等。Hystrix的壁舱机制。
限制瞬时并发数,如nginx限制瞬时的连接数。
限制时间窗内的平均速度。如令牌桶算法。
限制远程接口调用率。如mq消费速率

Hystrix使用:
添加HystrixCommand注解,并进行个性化定制编辑

Hystrix:
包裹请求,包裹对依赖的调用。
跳闸、
资源隔离
监控
回退机制(服务降级)
自我修复

Hystrix跳闸机制:
请求服务->开启时间窗口–>判断是否达到请求数–>判断是否达到配置的错误率–>发生跳闸–>再次开启时间窗口–>配置多少秒放行一个请求–>如果请求恢复了–>重置断路器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值