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

StackOverflow https://stackoverflow.com/questions/2330562

当然,一个人可以运行一个节点群集,但我想要一定程度的故障容忍度。

目前,我有能力租赁两台服务器(8GB RAM,私人VLAN @1Gige),但不能3。

我的理解是,3个节点是Cassandra群集所需的最低限度,因为2个节点之间没有可能的多数,并且解决了大多数来解决版本冲突所需的大多数。哦,等等,我在想“矢量钟”和riak?阿克!卡桑德拉(Cassandra)使用时间戳解决冲突。

对于2个节点,推荐的读/写策略是什么?我通常应该写给所有(两个)节点并从一个节点读取(n = 2; w = n/2+1; w = 2/2+1 = 2)?卡桑德拉(Cassandra)即使在2个节点上也会像往常一样使用暗示,是吗?

这2个服务器位于同一数据中心FWIW中。

谢谢!

有帮助吗?

解决方案

如果您需要在rf = 2上可用,则clustersize = 2系统,那么您将无法使用全部,否则在节点下降时将无法写入。

这就是为什么人们推荐3个节点而不是2个节点的原因,因为这样您就可以进行Quorum读写+写入,并且如果单个节点下降,则仍然具有强大的一致性和可用性。

只需2个节点,您就可以选择是否需要强烈的一致性(随着全部写入)或面对单个节点故障(与一个节点写入),但不会两者兼而有之。当然,如果您使用一个Cassandra编写,则需要根据需要进行暗示的缩写等,以使其最终保持一致。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top