首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hystrix vs MultiThreadedHttpConnectionManager

Hystrix vs MultiThreadedHttpConnectionManager
EN

Stack Overflow用户
提问于 2015-02-12 20:48:31
回答 1查看 310关注 0票数 0

我们有一个使用SpringMVC+JSP实现的网页。为了获取每个页面所需的数据,我们调用了一个外部API。步骤总结如下:-请求到达控制器-调用API以检索数据-将数据添加到JSP视图模型并返回给用户。

为了调用这个应用程序接口,我们使用的是使用MultiThreadedHttpConnectionManager的RestTemplate,初始化时使用了连接和读取超时。如果API不可用,则RestTemplate抛出异常,这些异常由网页的控制器处理。

最近我读到了关于Hytrix的文章,似乎它是用来在系统之间发出请求的。我需要一些关于Hytrix如何在我们的系统上提供帮助以及如何集成它的解释。

此外,API实现从不同的来源检索数据,其中一个来源是数据库。在数据库宕机的情况下,Hytrix也能提供帮助吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-02-12 21:42:45

Short answer

Hystrix不会在系统之间发出请求。它包装您的请求代码以获得观察(超时,错误计数),并提供断路器来停止您的应用程序再次创建“死”系统(远程服务甚至数据库)的调用。

回答的稍微长一点

Hystrix是服务和持久化/远程服务层(从现在起只是持久化)之间的一个薄包装器(我认为这是最常见的用例)。您将创建一个包含实际持久性调用的新HystrixCommand,而不是直接从服务调用持久性。此命令可高度自定义,并提供开箱即用的超时和断路器机制。如果您的调用超时或产生许多异常,它将切换到您可能(也应该)实现的回退实现。因此,在数据库宕机的情况下(可能类似于使用缓存数据),回退是否也能有所帮助,这取决于您的用例。作为一个副作用,您还可以获得呼叫的统计数据:错误计数、百分比、呼叫量……

一个月前,我开始使用HystrixCommands (和折叠器)和made a blog post,关于Hystrix和一般的接口通信,这可能会给你提供额外的信息(或混淆;)

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

https://stackoverflow.com/questions/28477902

复制
相关文章

相似问题

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