为啥“Quarkus”选择“Agroal”而不是“HikariCP”作为首选数据源和连接池实现? [关闭]

Posted

技术标签:

【中文标题】为啥“Quarkus”选择“Agroal”而不是“HikariCP”作为首选数据源和连接池实现? [关闭]【英文标题】:Why 'Quarkus' chose 'Agroal' instead of 'HikariCP' as the preferred datasource and connection pooling implementation? [closed]为什么“Quarkus”选择“Agroal”而不是“HikariCP”作为首选数据源和连接池实现? [关闭] 【发布时间】:2020-05-25 00:07:45 【问题描述】:

根据Quarkus documentation:

在 Quarkus 中,首选的数据源和连接池 实施是 Agroal。

但是,我没有看到任何关于“Agroal”与众所周知的 JDBC 连接池实现“HikariCP”的评论或比较。

除了 Quarkus 和 Agroal 都来自 RedHat 之外,是什么让“Agroal”比“HikariCP”更好?

【问题讨论】:

【参考方案1】:

使用Agroal ,您可以在运行时更新配置

运行时可覆盖的配置属性

虽然Hikari 不支持它

您不能通过在配置对象上重置属性值来动态更新属性值

另一个原因是Quarkus integration

具有与 Quarkus 中其他组件的一流集成,例如安全性、事务管理组件、健康指标

【讨论】:

好吧,我想买这个说法,即有一些不同,但是,人们可能想要一个性能更好的连接池,而不是动态可配置的连接池。如果我没有得到任何关于“性能”基准的信息,我会选择这个作为可接受的答案! 另一方面,我也在 answer 中看到了在 HikariCP 中实现动态配置的替代工作。所以,我仍然想知道是什么让“Agroal”成为了选择。 @RafiAlhamd 另一个原因是 Quarkus 集成(见更新) 看libraries supported by Quarkus的数量,肯定可以包括HikariCP。但是,为什么 HikariCP 会被避免/忽略是个奇怪的问题! 偶然在 Twitter 上得到 Quarkus 联合创始人 Emmanuel Bernardin 的回答。他的回答是:“Agroal 就像性能方面的 Hikari,但具有围绕 XA 的附加功能以及 Wildfly 和 Quarkus 所需的安全性。”。推文是here

以上是关于为啥“Quarkus”选择“Agroal”而不是“HikariCP”作为首选数据源和连接池实现? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Quarkus 会警告我关于私有字段的注入?

为啥 quarkus.oidc.credentials.secret 被忽略?

为啥不将 Mybatis 集成到 quarkus 系统中呢?

Vertx JDBC NoSuchMethodError 'java.sql.Connection io.agroal.api.transaction.TransactionIntegration.g

为啥选择 BigQuery 而不是其他 RDBMS 应用程序?

为啥 Google 选择 RenderScript 而不是 OpenCL [关闭]