Hystrix FallBack坏习惯

为什么在使用hystrix库时,在回退方法中调用数据库是一种不好的做法?

@HystrixCommand(fallbackMethod ="fallBackMethod")
public Double getRating(){
 //Some Code Here
}
public Double fallBackMethod(){
//Any call to data base
}

解决方案:

如果你的数据库宕机或速度慢,那么你在回调中的调用就会变慢或阻塞或抛出异常。在一些更糟糕的情况下,许多线程会在回退中阻塞,所以你的服务可能无法使用。

回调是为了保护你的服务。当出现问题时,调用回调会快速或无声地失败,这样线程就不会被阻塞,服务仍然能够服务。所以不建议在回调中做一些重度或不稳定的事情,比如调用数据库。

如果非要这样做,可以在回退中使用HystrixCommand,就像这样。https:/github.comNetflixHystrixwikiHow-To-Use#Common-Patterns-FallbackCacheViaNetwork。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何让map函数返回一个比第一个数组大的数组?

2022-9-9 1:28:31

未分类

在VBA中进行网页刮擦表

2022-9-9 1:28:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索