gpt4 book ai didi

java - EhCache 是否像 MemCached 一样利用所有节点的内存?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:54:06 31 4
gpt4 key购买 nike

MemCached文档提到数据分布在节点之间。这就是他们对分布式缓存的定义。如果节点 A 需要节点 B 上的数据,则数据从 B 传输到 A。如果 A 崩溃,存储在 A 上的所有数据将不再对 B 可用。

但是EhCache对distributed caching有不同的定义.基本上,它更像是共享内存而不是分布式缓存。如果节点 A 修改了一些数据,节点 B 将看到该修改。如果 A 崩溃,存储在共享内存中的任何数据 A 对节点 B 仍然可用。

这引出了两个问题:

  1. 如果我有 3 个节点 A、B、C,每个节点都有 1GB 的内存,MemCached 似乎会增加内存并使节点看起来总共有 3GB 的内存。然而,似乎 EhCache 没有添加 3 GB,而是允许每个节点之间最多 1GB 的共享内存。这是正确的吗?

  2. 如果对 1. 的回答是肯定的,那么 EhCache 和 MemCached 实际上是互补而不是竞争的结论是否正确?

最佳答案

因为我不是 Memcache 方面的专家,所以只谈 Ehcache 的作用。

Ehcache 是一种“分层缓存”。它允许您在每一层进行纵向扩展和横向扩展。如果你有 3 个 Ehcache 服务器节点(实际上服务器层是 TSA,Terracotta 服务器阵列),每个服务器节点都会有唯一的数据,所以不包括可以交换到磁盘的内容,你将有 3gig。 TSA 可以配置为使用磁盘持久性来实现 HA 和/或主动被动故障转移。插入 BigMemory 后,您可以将这些层中的任何一个增加到数百 GB 的 ram,而不必担心 GC 问题。

那么为什么分层缓存很酷?这就是它在客户端中使用内存的方式。您可以拥有多达数百个演出的连贯数据,在堆上和堆外本地层的进程中仅几微秒之遥,或者在远程层上几毫秒之遥。并且所有数据都可以HA。

您可以在此处阅读有关其中一些内容的更多信息:

http://scaleaholic.blogspot.com/2010/09/little-bit-about-bigmemory-for-ehcache.html

这里:

http://scaleaholic.blogspot.com/2011/08/what-is-terracotta.html

当然还有:ehcache.org和 Terracotta .org

关于java - EhCache 是否像 MemCached 一样利用所有节点的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700244/

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