【发布时间】:2013-01-24 06:43:29
【问题描述】:
当所有节点都启动时,最好的容错和快速读取的写入/读取策略是什么?
我在每个数据中心有 2 个副本,起初我考虑使用 QUORUM 进行写入,使用 LOCAL_QUORUM 进行读取,但如果一个节点崩溃,读取将失败。
我想出的另一个策略是使用 QUORUM 进行写入,使用 TWO 进行读取。它在正常情况下应该工作得很快(因为我们会首先从最近的节点获得结果),当任何节点崩溃时它会工作得更慢。
- 这种情况是建议使用一致性级别 2 还是出于其他目的?
- 什么时候使用 CL 3?
- 您有更好的一致性和容错写入/读取策略吗?
【问题讨论】:
-
是否有任何障碍可以避免使用 ONE 进行读取?
-
是的,在这种情况下,我需要一致性,如果我使用 ONE 则无法实现(除非我将 ALL 用于不容错的写入)。
-
理想情况下,我希望有类似 EACH_ONCE 用于写入和两次用于读取,这样即使 2 个节点死亡(每个数据中心一个节点),系统也可以容错。
标签: cassandra