面试题答案
一键面试常见读关注级别及含义、适用场景
local
- 含义:从本地节点读取数据,不保证读到的是最新数据,可能读取到未复制到其他节点的本地暂存数据。
- 适用场景:适用于对数据实时性要求不高,追求快速读取的场景,例如一些后台分析任务,不需要精确实时数据的情况。
majority
- 含义:从大多数副本集成员已确认写入的节点读取数据,确保读到的数据是大多数节点认可的最新数据。
- 适用场景:适用于对数据一致性要求较高的场景,如涉及金融交易、关键业务数据读取等,确保读到的数据是相对可靠和最新的。
linearizable
- 含义:提供线性化读,保证读取操作反映所有已提交的写入操作的最新状态,是一种强一致性的读关注级别。
- 适用场景:适用于对数据一致性要求极高的场景,例如分布式系统中的全局配置数据读取,任何读取操作都必须获取到最新的已提交数据。
available
- 含义:尝试从任何可用节点读取数据,即使副本集处于降级状态(例如某些节点不可用),也会尽力返回数据,但不保证数据的一致性和完整性。
- 适用场景:适用于对系统可用性要求极高,允许一定程度数据不一致的场景,如一些监控指标的读取,即使数据可能不准确但需要确保始终能获取到数据。