服务器模式下的 Infinispan JPA CacheStore

Infinispan JPA CacheStore in server mode

需要在现有 DataStore (RDBMS) 前端使用 infinispan 和 write-behind。此外,我们不希望 运行 Infinispan 处于嵌入式模式,以避免对需要提供大量服务的现有应用程序造成内存压力。我们想要 运行 服务器模式下的一个 infinispan 集群,并使用 hotrod 连接我们的应用程序。

由于 JDBCStore 不支持自定义模式,因此唯一的选择是使用基于 JPA 的 CacheStore,但似乎存在仅允许 JPA 存储在嵌入式模式下工作的限制。有任何解决方法吗?

将 JPA 缓存存储与服务器一起使用的棘手部分是如何将用户 类 插入服务器。这是必需的,因为 JPA entities/collections 需要可供 JPA 缓存存储访问。可以通过创建一个模块并将其插入服务器模块并让​​ Infinispan JPA 缓存存储模块依赖它来实现这一点。这可能是可行的,但我们 encourage/support 并需要深入了解 Infinispan Server 的模块架构。

我的建议是坚持嵌入式用例和 JPA 缓存存储。为避免内存问题,您可以配置逐出,以便仅将最近使用的条目保留在内存中。您还可以在 Infinispan 中使用堆外容器来卸载堆外的数据存储并保持您的应用程序 运行 顺利。