首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hystrix FallBack不良做法

Hystrix FallBack不良做法
EN

Stack Overflow用户
提问于 2017-07-21 14:04:02
回答 2查看 1.8K关注 0票数 1

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

代码语言:javascript
复制
@HystrixCommand(fallbackMethod ="fallBackMethod")
public Double getRating(){
 //Some Code Here
}
public Double fallBackMethod(){
//Any call to data base
}
EN

回答 2

Stack Overflow用户

发布于 2017-08-04 10:59:00

如果您的数据库关闭或缓慢,那么您在回退中的调用将变慢、阻塞或抛出异常。在一些更糟糕的情况下,许多线程将在回退中阻塞,因此您的服务可能不可用。

后备方案是为了保护您的服务。当出现问题时,调用回退会快速或静默地失败,这样线程就不会被阻塞,服务仍然能够服务。因此,不建议在回退中做一些繁重或不稳定的事情,例如,调用数据库。

如果必须这样做,您可以在备用中使用HystrixCommand,就像这样:https://github.com/Netflix/Hystrix/wiki/How-To-Use#Common-Patterns-FallbackCacheViaNetwork

票数 0
EN

Stack Overflow用户

发布于 2020-04-24 19:27:55

如果您的业务逻辑需要这样做,那么让db调用作为备用并不是一种糟糕的做法。只需确保此回退方法也包含在@HystrixCommand中,因为它可能会因数据库问题而超时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45230146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档