【发布时间】:2017-12-11 16:18:06
【问题描述】:
我试图找到如何为应用程序实现分布式缓存。
Ehcache 已经在我的项目中用于缓存,这就是我搜索如何使用它来解决这个问题的原因。 但是,不幸的是,似乎需要 Terracotta Enterprise Suite 并且它是商业的。不是吗? 是否有另一种解决方案如何使用 Ehcache 进行分布式缓存(RMI 或其他)?
【问题讨论】:
标签: java ehcache distributed-caching
我试图找到如何为应用程序实现分布式缓存。
Ehcache 已经在我的项目中用于缓存,这就是我搜索如何使用它来解决这个问题的原因。 但是,不幸的是,似乎需要 Terracotta Enterprise Suite 并且它是商业的。不是吗? 是否有另一种解决方案如何使用 Ehcache 进行分布式缓存(RMI 或其他)?
【问题讨论】:
标签: java ehcache distributed-caching
您不需要 terracotta 企业套件来集群您的 Ehcache 实例。因此,您现在可以通过纯 OSS 使用 Ehcache 和 Terracotta 集群:
http://www.ehcache.org/documentation/configuration/distributed-cache-configuration
编辑:此链接已过期。以下是与集群缓存相关的新链接 http://www.ehcache.org/documentation/3.4/clustered-cache.html
现在如果你需要复制,你可以使用 RMI 等其他机制:
http://www.ehcache.org/documentation/replication/index
不过,只有 Terracotta 集群才能为您带来 HA 和一致性保证等特性......
【讨论】:
你也可以试试Hazelcast。它是开源的分布式缓存,非常易于使用。
PS:我为 Hazelcast 工作
【讨论】:
使用ehcache机制实现分布式缓存有多种方式。可以使用 RMI 或 Jgroups。
在一个项目中,我遇到了同样的情况,经过一些研究,我发现使用 Redis 服务器进行缓存管理是一种简单有效的解决方案。
我建议将此作为答案,因为如果您尝试使用 ehcache,这将花费时间并增加复杂性,并且您的工作区中可以有多个缓存管理器。
【讨论】: