hystrix 优化


1.hystrix 超时时间优化, 解决首次请求失败的问题
Hystrix 默认超时 1 秒, 由于 ribbon 默认懒加载机制, 造成第一次请求容易超时, 将 hystrix 超时改为 5 秒
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=5000
或禁用 hystrix 超时机制
hystrix.command.default.execution.timeout.enable=false

2.hystrix 隔离策略优化
请求比较耗时, 可用线程隔离, 保证 web 容器有更多线程可用, 不会因为服务慢导致线程一直阻塞
请求比较快, 可用信号量隔离, 响应快不会占用容器线程太长时间, 可以减少线程切换的开销

3.线程池大小,默认 10 
每秒请求的峰值 * 99% 延迟百分比的请求响应时间 + 预留缓冲值
30 * 0.2s = 6 + 预留缓冲值 = 10

4.hystrix 线程池隔离时,传递线程上下文变量
比如复制 threadlocal 变量
继承 HystrixConcurrencyStrategy, 实现 wrapCallable(), 返回一个 Callable 代理
在 Callable 代理里,完成了 threadlocal 变量的封装
通过构造函数保存父线程 threadlocal 变量,在 call() 里把父线程的 threadlocal 变量存到子线程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

叫我三师弟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值