请解释 Cassandra 中一致性级别的含义,并列举出常见的几种级别及其适用场景。
考察说明
考察对 Cassandra 分布式环境下一致性模型的理解程度。
回答思路
- 【回答框架 1】一致性级别是 Cassandra 中控制读写操作所需达到的副本确认数量的配置,它决定了读写操作的强一致性与可用性之间的权衡。
- 【回答框架 2】常见的一致性级别包括:ONE、QUORUM、ALL、LOCAL_QUORUM、EACH_QUORUM、ANY 等。ONE 表示只需一个副本确认即可返回,延迟最低但一致性最弱;QUORUM 表示需要多数派副本确认,提供强一致性保证;ALL 需要所有副本确认,一致性最强但可用性最差。
- 【回答框架 3】LOCAL_QUORUM 和 EACH_QUORUM 用于多数据中心场景,前者仅要求本地数据中心多数派确认,后者要求每个数据中心都达到多数派,后者一致性更强但延迟更高。ANY 级别只需任一节点确认即可,甚至包括提示补偿,可用性最高但一致性最弱。
- 【回答框架 4】在实际应用中,读写一致性级别需要组合使用。例如,读 QUORUM 写 QUORUM 可以实现强一致性;读 ONE 写 QUORUM 可以实现读写一致性;读 ONE 写 ONE 则提供最终一致性。
- 【关键点 1】一致性级别是读写操作需要确认的副本数量。
- 【关键点 2】常见级别包括 ONE、QUORUM、ALL、LOCAL_QUORUM 等。
- 【关键点 3】QUORUM 写和 QUORUM 读可保证强一致性。
- 【关键点 4】一致性级别需根据业务需求权衡一致性和可用性。
- 【易错点 1】不要认为 QUORUM 一定保证强一致性,需结合读写级别综合判断。
- 【易错点 2】不要忽略 hint 对任一一致性级别可能带来的数据丢失风险。