当前位置:  开发笔记 > 数据库 > 正文

我绝对需要至少3个节点/服务器用于Cassandra集群,还是2个就足够了?

如何解决《我绝对需要至少3个节点/服务器用于Cassandra集群,还是2个就足够了?》经验,为你挑选了1个好方法。

当然可以运行单个节点集群,但我想要一定程度的容错能力.

目前我可以租用两台服务器(8GB RAM,私有VLAN @ 1GigE)而不是3台服务器.

我的理解是,3个节点是Cassandra集群所需的最小节点,因为2个节点之间不可能存在大多数节点,并且解决版本控制冲突需要大多数节点.哦等等,我想到"矢量时钟"和Riak?确认!Cassandra使用时间戳来解决冲突.

对于2个节点,建议的读/写策略是什么?我通常应该写入所有(两个)节点并从ONE读取(N = 2; W = N/2 + 1; W = 2/2 + 1 = 2)?像往常一样,Cassandra会使用暗示切换,即使是2个节点,是吗?

这两台服务器位于同一数据中心FWIW中.

谢谢!



1> jbellis..:

如果您需要RF = 2,clustersize = 2系统的可用性,那么您不能使用ALL,否则您将无法在节点出现故障时进行写入.

这就是人们推荐使用3个节点而不是2个节点的原因,因为这样您就可以进行仲裁读取和写入,并且如果单个节点出现故障,仍然具有强大的一致性和可用性.

只有2个节点,您可以选择是否要在单个节点发生故障时使用强一致性(写入ALL)或可用性(使用ONE写入),而不是两者都要.当然,如果你用ONE cassandra写作,将根据需要进行暗示切换等,以使其最终保持一致.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有