【发布时间】:2015-08-26 10:50:57
【问题描述】:
许多应用程序将连接池用于 HTTP 和 JDBC 调用以实现弹性。但是使用和配置这两种类型的池是非常不同的。这重复了实现两者共有的弹性模式的复杂性 - 例如超时、重试、缓存/警报回退、断路和监控。
在我看来,Hystrix 提供了为 HTTP 和 JDBC 调用配置和实现这些相同弹性模式的通用方法。
我的问题是:
- Hystrix 理论上可以替代现有的 HTTP 和 JDBC 完全连接池?
- 如果是这样,这样做的利弊是什么?
完全替换它们可以减少围绕这些连接池的复杂性 - 以及它们伴随的超时和验证查询属性等。但是我对 Hystrix 如何“保持活动” JDBC / HTTP 连接感到模糊 - 从而避免昂贵的连接设置成本 - 无需委派给专门用于这些任务的现有库。
对于上下文,我有一个 DropWizard 应用程序,它使用 Tomcat DBCP 作为其 JDBC 连接池,并使用 Apache HttpClient 作为其 HTTP 连接池。
【问题讨论】:
标签: jdbc httpclient connection-pooling hystrix resiliency