使用 Hikari 在 Ignite 中进行集群范围的连接资源管理

Posted

技术标签:

【中文标题】使用 Hikari 在 Ignite 中进行集群范围的连接资源管理【英文标题】:Cluster wide connection resources management in Ignite, using Hikari 【发布时间】:2018-01-19 20:21:34 【问题描述】:

如何在 ignite 上管理资源。

鉴于我正在开发的应用程序,我有一些我曾经保持的连接(JDBC/SAP/其他)。 我曾经将所有连接保存在一个池中并使用 HIKARI 管理它们。 现在鉴于现在我可以拥有一个使用 ignite 的机器集群,我可以使用什么方法,以便我可以跨节点分配连接。

Ignite 没有提供这种开箱即用的机制。

我曾考虑使用服务作为这些连接的容器,但连接管理是额外的开销。就像重新发明***一样好。

Hikari 没有任何集群管理功能,因此仅限于单节点资源。

任何建议将不胜感激。

【问题讨论】:

【参考方案1】:

你有机会看看JDBC client node driver吗?它应该处理在节点之间分配查询。

【讨论】:

这无济于事,因为我不想在每个节点上都创建连接。与某些遗留应用程序的连接可能很繁重,并且可能需要一分钟以上的时间来创建连接。因此我需要维护一个游泳池。虽然这个池可以分布,但我更喜欢一个或一组节点来保存这些资源,而不是分散它们。 您可以将 HikariCP 池与 JDBC 客户端节点驱动程序一起使用,唯一需要考虑的是每个连接都将通过驱动程序使用的同一个内部 Ignite 节点,但没关系,因为这个驱动程序设计时考虑到了这种情况。使用瘦模式 JDBC 驱动程序,如果目标节点出现故障,您将如何提供回退取决于您。有一些解决方案允许使用带有回退逻辑的多个数据源,例如,一些应用服务器提供了这样的能力,你可以看看HA-JDBC。【参考方案2】:

从 4.2 SP2 开始,SAP 数据服务现在支持使用 JDBC 驱动程序作为数据源。此功能已通过新的适配器类型 JDBC 实现。

要添加 JDBC 适配器,您可以使用数据服务管理控制台,浏览到适配器实例,选择您的作业服务器,然后选择适配器配置。

SAP Data Services and JDBC

SAP HANA 提供了一个驱动程序,使 Java 应用程序能够使用 JDBC 应用程序编程接口 (API) 连接到 SAP HANA 数据库。

Connect to SAP HANA via JDBC

【讨论】:

以上是关于使用 Hikari 在 Ignite 中进行集群范围的连接资源管理的主要内容,如果未能解决你的问题,请参考以下文章

使用 JDBC 瘦客户端通过 SSL 连接到 Ignite 集群

使用 TcpDiscoveryKubernetesIpFinder 在 Kubernetes 集群中无法发现 Ignite

Apache Spark + Ignite 集群瘦客户端

3 ignite宽展特性

无法在现有Apache Ignite单节点集群中创建缓存

Ignite集群管理——基于Zookeeper的节点发现