【发布时间】:2010-12-24 20:50:12
【问题描述】:
这是一个架构问题。 我有这样的想法,即拥有一个具有巨大内存的服务器,用作大对象缓存持有者。客户端将“操作”发送到此服务器(例如属性 age
猜猜它做的最好的事情是 Oracle Coherence,但我想知道是否有人有其他开源解决方案或想法。
一个简单的解决方案是将 EhCache 与 Hibernate 一起使用,但我不知道我将使用什么协议将其转换为服务器(我看到在“服务器”上将操作作为调用方法发送,并且方法返回列表匹配查询的人员)。也许可以使用简单的 RMI。我还不相信,我想要一个更成熟的解决方案,一个框架,还有故障转移,自动发现和地图减少会很好。我想我可以将 GridGain 包裹在我的 EhCache 解决方案之上并解决这个问题?这会不会有点过头了(我可能只使用这个数据网格服务器的一个实例)。
其他选择是兵马俑。问题是我对 Terracotta 了解不多,只知道您可以在实例之间共享数据。如果我将一个进程中的元素添加到分布式缓存中,并且在另一个进程中是否存在缓存的本地副本,并且仅复制差异?这对于每个进程都会查询本地缓存这一事实非常有用,而且速度非常快,但这也意味着客户端进程会使用大量内存。
那么有人有什么想法吗?
谢谢。
【问题讨论】:
标签: caching grid ehcache terracotta