数据岗位面试题更新 2026-08-05

请解释 Cassandra 在架构上采用哪些机制来避免出现单点故障?

数据系统设计技术原理Apache Cassandra

考察说明

考查对 Cassandra 分布式架构中高可用与去中心化设计的理解。

回答思路

  1. 【回答框架 1】Cassandra 采用去中心化对等架构,所有节点角色相同,无主从之分,任何节点均可接受读写请求,从而避免单一协调者成为故障点。
  2. 【回答框架 2】数据通过一致性哈希分布到多个节点,并支持多副本复制,副本数可配置,即使部分节点失效,仍可从其他副本读取数据,保障可用性。
  3. 【回答框架 3】集群通过 Gossip 协议交换节点状态信息,各节点能及时感知其他节点存活与故障情况,并在节点失效时通过 hint 或修复机制维持数据一致。
  4. 【回答框架 4】故障检测与自动恢复机制:节点故障后,协调节点可将请求路由到其他副本,并通过读修复或反熵修复在后台恢复数据一致性,无需人工介入切换主节点。
  5. 【回答框架 5】从无单点故障角度,关键在于无主复制、多副本与去中心化协调,但需注意这里指系统层面无单点,而具体数据可能因副本策略存在弱一致风险。
  6. 【关键点 1】Cassandra 使用去中心化对等架构,无主节点,避免单一节点成为瓶颈或故障点。
  7. 【关键点 2】采用一致性哈希与多副本冗余,节点故障时仍可访问其他副本。
  8. 【关键点 3】基于 Gossip 协议进行节点状态传播与故障检测。
  9. 【关键点 4】通过读修复与反熵修复机制在后端恢复数据一致。
  10. 【关键点 5】无单点故障不等于数据强一致,需结合一致性级别权衡可用性与一致性。
  11. 【易错点 1】不要将无单点故障等同于数据完全强一致,Cassandra 默认可能提供最终一致性。
  12. 【易错点 2】避免误认为所有节点失效时仍可读写,只有当副本数满足一致性要求时才可用。
  13. 【易错点 3】不能忽略网络分区或节点慢故障对可用性的影响,故障检测有延迟。