java - Hystrix 和连接池

标签 java apache connection-pooling apache-httpclient-4.x hystrix

请原谅 - 这很可能是一个愚蠢的新手问题。

我们使用 Hystrix 作为两个服务之间的断路器。为了加快性能,我们正在使用连接池。我们使用 Apache HttpClient 中的 PoolingHttpClientConnectionManager 来处理连接池。

我们还使用 Hystrix 的“timeoutInMilliseconds”属性来捕获问题。

我们遇到的“问题”是,在正常操作中,创建新的 HTTPS 连接需要 c130ms,但一旦合并,这些连接的读取时间为 c12ms。

因此,我们必须将“timeoutInMilliseconds”阈值设置得比我们希望的更高,这样 Hystrix 就不会在我们的连接池决定创建新连接时启动。我们的非功能性要求希望服务的延迟比 130 毫秒更接近 12 毫秒。

我们是否正确使用了 Hystrix?在使用 Hystrix 和连接池时,我们可以遵循其他模式吗?

非常感谢,

迈克

最佳答案

您应该根据您的 TP99 + 缓冲区延迟将 Hystrix 配置为超时。在您的情况下,TP99 延迟为 130 毫秒。添加约 20 毫秒的中值延迟,并将 Hystrix 配置为在 150 毫秒时超时。

关于java - Hystrix 和连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47079866/

相关文章:

ajax - 合并 apache 请求?

java - Proxool最大连接数

java - JDBC 连接池是单例的吗?

java - 我真的可以通过关闭连接读取 LOB 吗?

java - Java 中的简单凯撒密码

java - 如何使用java编程语言将java String转换为mongodb_id的ObjectId

apache - .htaccess RewriteRule 国家/地区代码和 url

apache - 使用查询字符串 htaccess 重定向 URL

java - Hibernate 不会在 getter 处获取 @Id 注释

java - 实现 java.awt.Graphics 类