對於Cassandra,假設複製因子爲1(即數據集的兩個副本),則至少需要三個節點才能以強一致性進行寫入。對於Couchbase來說,這個要求似乎並不是這樣,至少我沒有在任何地方發現它。儘管如此,Couchbase仍然建議生產系統至少使用三個節點。我發現的唯一動機是(1)雙節點系統中的單節點故障會導致單點故障,(2)雙節點系統在擴展到第三節點時需要更加努力節點,而不是三節點系統(我假設這是因爲重新平衡)。爲什麼三個節點是推薦的最低Couchbase節點數量?
無動機似乎格外引人注目我:
原因(1)感覺有點像說雙磁盤RAID-1是沒用的,只有一個三磁盤RAID-6(一個數據,二校驗和)是可以接受的。儘管如此,RAID-1相當流行(比三磁盤RAID-6:還要多),並且通常被認爲是相對安全的。假設節點的丟失將導致管理員的快速行動,所以風險應該是短暫的。
原因(2)對我來說似乎更加短暫。添加第四個節點時,添加三個節點時,兩個節點需要更努力地工作。儘管如此,這只是一個問題,大多數應用程序每天都會有負載變化,因爲在這種情況下,可以重新平衡。
所以我想知道是否有任何其他原因避免雙節點Couchbase集羣,假設兩個節點都能夠承載負載?
謝謝!這聽起來像一個非常好的理由!我發現這個鏈接:https://github.com/couchbaselabs/docs-ng/blob/master/content/couchbase-manual-2.2/administration-tasks.markdown#using-automatic-failover更詳細地解釋問題。如果包含它(或其他來源),您的答案可能會得到改進。 – 00prometheus 2014-10-30 18:22:51
@ 00prometheus好點 - 完成。 – DaveR 2014-10-31 07:49:13