gpt4 book ai didi

hibernate - 集群的独立/复制 Ehcache

转载 作者:行者123 更新时间:2023-12-02 23:05:16 25 4
gpt4 key购买 nike

在我们的项目中,我们决定在应用程序中使用 Ehcache 作为 Hibernate 和查询缓存的二级缓存。看起来效果很好。

然后我们突然意识到我们的生产环境是集群的。查看 ehcache 文档,我发现最好的办法是采用分布式缓存,但这涉及 Terracotta Server,客户端现阶段不准备为此付费。

根据文档,对于独立拓扑:

If standalone caching is being used where there are multiple application nodes running the same application, then there is Weak Consistency between them.

我的两个问题是:

  1. 以“只读”模式使用 ehcache 并继续在集群环境中独立使用它,我们会受到什么影响?因为如果只是这样说,对于它会命中其他节点的情况,它会从数据库中获取数据,因为缓存不会在那里复制/配置,我想我们会接受它。唯一的问题是,它不应该导致异常。我想知道在我的场景中使用独立拓扑的后果。

  2. 我们可以将第三种拓扑(复制缓存)作为解决方案吗?

我是 ehcache 新手,因此有这些基本问题。非常感谢您的回复!

谢谢!

最佳答案

如果您的应用程序是集群式的,并且您需要缓存可能更改的数据,则您将需要使用支持此功能的缓存解决方案。正如您所说,如果您希望在集群中使用 EhCache,则需要使用 Terracotta。

Hibernate 文档列出了支持的缓存提供程序 here .

我已经使用 Infinispan(分布式缓存的开源 JBoss 解决方案)成功实现了这一点。有一个全面的指南here这将为您提供启动和运行所需的一切。

Infinispan支持多种操作模式,包括失效、复制和分布式。 2LC 的默认设置是同步失效。在此模式下,当集群中某个节点上更新实体时,它将使缓存区域失效,并且所有其他节点将收到通知并执行相同操作。

关于hibernate - 集群的独立/复制 Ehcache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12536272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com