gpt4 book ai didi

java - Tomcat Web 应用程序之间的共享缓存

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:57 26 4
gpt4 key购买 nike

我正在寻找一种在不同主机上运行的两个 tomcat 网络应用程序之间共享缓存的解决方案。缓存是用来做数据同步的,所以必须保证缓存在两个tomcat实例之间始终是最新的。 (抱歉,我不能 100% 确定这个要求的正确术语是“一致性”还是更具体的术语,比如具有 ACID 属性)。另一个要求当然是访问缓存应该很快,写入次数与读取次数大致相等。我确实可以访问共享文件系统,所以这是一个考虑因素。

我看过类似 ehcache 的东西,但为了在 Web 应用程序之间获得共享缓存,我要么需要在 Terracotta 环境之上实现,要么使用新的 ehcache 缓存服务器。前者 (Terracotta) 对此似乎有点矫枉过正,而缓存 Web 服务器似乎无法提供我想要的快速性能。

我看过的另一个解决方案是在 Redis 或 memcachedb 等快速键值存储之上构建一些简单的东西。 Redis 在内存中,但可以很容易地配置为集中式缓存,而 memcachedb 是基于磁盘的持久缓存,它可以工作,因为我有一个共享文件系统。

我正在寻找有关如何最好地解决此问题的建议。该解决方案需要是一种相对成熟的技术,因为它将用于生产环境。

提前致谢!

最佳答案

如果您需要分布式缓存,我很确定您不需要 terracotta 或 ehcache 服务器。 Ehcache 与 four replication mechanisms 之一会做。

但是,根据您所写的内容,我猜您正在寻找的不仅仅是缓存。 Memcached/Ehcache 是您可以将应用程序称为缓存层的示例 - 仅此而已。

如果您发现自己使用诸如“保证”“最新”“ACID”之类的词,您最好使用内存数据库,例如 Oracle Times Ten/MySQL Cluster/Redis 以及基于磁盘的持久存储.

关于java - Tomcat Web 应用程序之间的共享缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711514/

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