代码之家  ›  专栏  ›  技术社区  ›  Steve B.

分布式缓存系统及其分发数据的方式

  •  1
  • Steve B.  · 技术社区  · 15 年前

    我正在为一个可能涉及3-4个Web服务器的项目寻找有关ehcache和其他memcached替代方案的信息,以及2-1000万个分布式对象,这些对象需要对所有服务器都可用。

    具体地说,我试图理解其他系统如何分发数据,无论memcached在在多个缓存之间分发数据时是否唯一,或者其他缓存执行类似的操作(即,给定密钥可能存在于N个服务器中的任何一个服务器上,而客户机不关心,而不是单个服务器上传播到其他C的更新)。作为复制品的疼痛)。

    例如,在查看ehcache之类的文档时,我不清楚“分布式”是指类似于memcached的策略还是类似于“复制/同步”的策略。

    编辑:尽管分布式计算的参考资料很有用,但我更感兴趣的是具体实现的行为。例如,我会支付一些系统的同步开销吗?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Alexandre Abreu    15 年前

    你的问题不是非常精确,尽管我可能知道你想去哪里,但这本身就是一个相当大的领域。

    您可以从这里开始: http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/

    还可以看看Dynamo、Bigtable和所有与此相关的理论问题(Cap定理和Werner Vogels关于此的介绍,您可以在InfoQ上找到)。

    多亏了有关NoSQL Meetup的多个视频,您可以获得越来越多的信息。

    希望有帮助,

    编辑:关于同步开销,它确实取决于系统。每个系统都有特定的需求,例如,Dynamo针对的是一个可能并不总是完全一致(最终一致性)的高可用性系统,因此(根据设计和需求)意味着它是一个分布式系统,其中必须接受并快速地进行每一次写入。其他系统的行为可能不同,

        2
  •  2
  •   jldupont    15 年前

    我怀疑你是在讨论 一致性 跨“分布式数据”。这个话题很广泛,但在权衡方面有一个很好的参考。 here .

    换句话说,这在很大程度上取决于您的需求(这里不是很详细)。如果我误解了你的问题,你可以放心地忽略我的贡献;—)

        3
  •  1
  •   realMarkusSchmidt    15 年前

    您可能正在寻找的特性或属性是“无共享”架构。memcached就是一个例子,例如,节点之间没有单点故障、没有同步或任何其他通信,节点甚至不知道彼此。

    因此,如果这是您想要的,并且您正在评估一个产品/项目,请寻找“无共享”术语。如果第一个屏幕上没有提到它,那么它可能不是一个无共享的体系结构;)