为什么选择“不共享”而不是“共享所有内容”?

IAm*_*aja 2 architecture disk distributed-computing

“不共享”分布式系统的理解是,集群中的每个节点都有其自己的磁盘可持久保存。如果是这种情况,我不确定为什么拥有这样的体系结构将是有益的,因为不仅需要在应用程序级别进行复制/负载平衡/群集,而且还需要在磁盘上进行复制-级别,以便群集中的所有磁盘节点也可以互相看到。

因此,我想问:在什么情况下“不共享”是“共享所有内容”的更好选择,除了这两个之外还有其他选择吗?提前致谢。

jop*_*jop 5

考虑无共享分布式系统的以下优点:

  • 故障隔离。任何单个节点中的故障都将包含在该节点中,并且仅通过消息(或消息缺失)暴露出来,从而允许实施容错系统。一个简单的例子:共享磁盘文件系统中的文件系统错误可能会破坏整个持久状态。
  • 可扩展性。如果磁盘是共享资源,则可用的控制器和磁盘带宽也会共享。此外,一致的共享状态需要某种形式的同步,其中不同的节点轮流访问关键数据。这两个都将限制最终可以将多少节点添加到分布式共享磁盘系统中。