MST

星途 面试题库

面试题:分布式系统中常见的一致性级别有哪些及应用场景

请阐述分布式系统中常见的一致性级别,如强一致性、弱一致性、最终一致性等,并分别举例说明它们在实际业务场景中的应用。
45.3万 热度难度
后端开发分布式系统

知识考点

AI 面试

面试题答案

一键面试

强一致性

  • 定义:强一致性要求任何时刻,所有节点上的数据都是一致的。读操作总能读取到最新写入的数据。
  • 实际业务场景应用举例:银行转账场景,比如从账户A向账户B转账100元,在强一致性系统下,一旦转账操作完成,查询账户A的余额立刻减少100元,账户B的余额立刻增加100元,所有节点看到的数据状态都是一致的,确保资金的准确性和安全性。

弱一致性

  • 定义:弱一致性不保证在任意时刻所有节点上的数据都是一致的,在数据更新后,需要过一段时间其他节点才能感知到更新。
  • 实际业务场景应用举例:某些实时性要求不高的日志记录场景,例如网站的访问日志记录,允许在一定时间内不同节点上记录的日志顺序略有差异,因为即使日志顺序在短时间内不一致,对后续分析访问趋势等业务需求影响不大。

最终一致性

  • 定义:最终一致性是弱一致性的一种特殊情况,系统会保证在没有新的更新操作的情况下,经过一段时间后,所有节点的数据最终会达到一致。
  • 实际业务场景应用举例:电商系统中的商品评论功能,用户提交评论后,可能不会立刻在所有页面显示,但是过一段时间后(比如几分钟内),所有用户看到的商品评论列表就会是一致的,这种一致性延迟对于商品评论场景来说是可以接受的。