分布式内存缓存 vs 内存数据网格

5

"内存分布式缓存"和"内存数据网格"有什么区别?

我们在什么情况下使用其中之一,即"In memory data grid"的实际用例是什么?

您能否列出几个流行的"In memory data grid"框架,这些框架与Java应用程序兼容?


我假设你已经通过谷歌搜索了这些术语和使用它们的产品。不清楚你在问什么,这是你可以轻松查找的。你有什么疑问吗? - Peter Lawrey
1
我已经尝试过谷歌搜索,但是没有找到足够的信息,以便我能够轻松理解它们之间的区别。 - developer
并没有太大的区别。数据网格试图成为不仅仅是缓存。数据网格可以包含缓存、队列、分布式锁、分布式工作引擎等。 - Peter Lawrey
这就像是厨房刀和瑞士军刀的区别。关于一些流行的命名,肯定可以请Google帮忙。 - Marko Topolnik
2个回答

2
内存分布式缓存就是指一个跨越不同节点的缓存。它可以使得数据对使用它的应用程序高度可用。通常它们是键值存储,并支持标准的put/get操作,以及对数据进行分区、复制或备份的能力。
内存数据网格是一种带有一定计算能力的分布式缓存。除了分布式缓存的功能外,它还允许您进行分布式SQL查询、共存处理等等。plamb提供了一个很好的内存数据网格列表。

1
他的StackOverflow个人资料中在哪里可以找到这个? - Satish Patro

0

使用内存数据网格,您可以进行内存分布式缓存。例如,Oracle使用Oracle Coherence在Weblogic中实现了这种类型的缓存。因此,通过这个例子,我回答了您问题的最后一部分。

但这是最昂贵的解决方案,仅仅做缓存(金钱、内存、网络、CPU):内存数据网格比您需要做缓存更可靠,它可以处理真实数据,因此您不需要另一个后端。

如果您需要进行内存分布式缓存,EHCache、Memcached、Infinispan等解决方案可以实现。事实上,几乎所有Java EE应用程序服务器都提供了解决方案。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接