Hystrix后备实施是否必须?

问题描述 投票:0回答:1

我有一个调用第三方资源来检索Dog对象的方法。如果调用失败,则没有其他路径可以返回Dog对象。

所以,这里首选的方法是:-1.实施hystrix后备并返回空的Dog对象。2. Hystrix将在调用失败时引发异常,并且在捕获到异常后,将返回空的Dog对象。

选项1或2?hystrix后备是强制性实施要求吗,您是否真的没有后备方法?我认为不是,您对此有何看法? hystrix准则建议什么?

hystrix fallback
1个回答
0
投票

根据您的意思,选项1和2的结果相同-返回的是空狗。我要说的是,在这种情况下使用回退来处理它会更好,因为它更干净。回退将被定义为该命令的一部分,因此该命令的所有用法之间都将保持一致。如果您将其作为例外处理,则情况并非如此。在那种情况下,您将需要记住在所有进行调用的地方都以相同的方式来实现异常处理。并且,通过忘记处理某个地方很容易出错。

是否必须进行后备广告?这不是强制性的。如果未提供,将引发异常。就您而言,您确实有一个后备策略-这非常简单。 Hystrix Wiki中实际上将它作为静默失败进行了介绍,您可以在https://github.com/Netflix/Hystrix/wiki/How-To-Use#Common-Patterns-FailSilent]中阅读有关它的更多信息

值得考虑哪些操作需要回退,或者应该回退什么。值得为读取操作提供一个备用。对于写操作,可能不是一个好主意,如下所述:https://github.com/Netflix/Hystrix/wiki/How-To-Use#Fallback

定义回退策略是该模式的一部分。想象一个使用Hystrix的开发人员很少的项目。知道确切地去哪里可以看到后备策略会很高兴。这是一个巨大的好处。

要记住的一件事是,异常的处理成本更高,因此将它们用作后备策略会浪费资源。这在具有少量请求的小型项目中不会出现问题,但可能会在处理大量此类调用的系统中引起问题。

© www.soinside.com 2019 - 2024. All rights reserved.