后端、数据与安全 深入了解 C · 行业惯例 平台: 网页

Eventual Consistency

最终一致性

最终一致性允许数据改动后,各份副本短暂不同。如果没有新改动,而且更新流程持续正常运行,副本应该变得一致。

看看怎样运作
也有人这样说 Eventual Consistency最终一致延迟一致

看看怎样运作

原创情境示例最终一致性
状态与恢复最终一致性source commit -> event/change -> consumer lag -> projection update -> measured convergence
个人名称已同步
源数据v43刚刚保存
读取副本v42落后 1.2 秒
已同步v431.8 秒后
✓ 副本内容一致current lag: 0 s
保留要让用户知道当前读到哪一份副本和版本。恢复旧数据不安全时,要等待、重新读取,或改用更强的读取规则。
source commit -> event/change -> consumer lag -> projection update -> measured convergenceJOB
最终一致性后端可靠性

另一个例子

商品目录把产品 `42` 改名为“海洋”。产品页会立即读到新名称。事件消费者追上前,搜索副本仍会显示旧名称三秒。两边一致后,延迟指标会回到零。

主要部分

  1. 01原始数据源
  2. 02数据变更事件
  3. 03异步通道
  4. 04消费者检查点
  5. 05短暂不同步时间与延迟
  6. 06收敛或修复

什么时候用

搜索副本、分析数据或独立服务能安全接受一段延迟时,可以采用最终一致性。要测量这段延迟,也要让人能修复或重新发送遗漏的改动。

什么时候不要用

某项决定需要立即取得最新值时,不要采用最终一致性。敏感操作前的权限检查就是一个例子。要说明副本何时应该一致,以及失败后要怎样处理。

代码里的名称

source commit -> event/change -> consumer lag -> projection update -> measured convergence

上线前要检查

检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。

可以直接复制的需求

预期结果:为这套系统设计或检查 最终一致性 (Eventual Consistency),并让数据保持正确、安全且容易维护。 用户场景:商品目录把产品 `42` 改名为“海洋”。产品页会立即读到新名称。事件消费者追上前,搜索副本仍会显示旧名称三秒。两边一致后,延迟指标会回到零。 技术概念或控制措施:最终一致性 (Eventual Consistency)。 适用理由:搜索副本、分析数据或独立服务能安全接受一段延迟时,可以采用最终一致性。要测量这段延迟,也要让人能修复或重新发送遗漏的改动。 不应使用的情况:某项决定需要立即取得最新值时,不要采用最终一致性。敏感操作前的权限检查就是一个例子。要说明副本何时应该一致,以及失败后要怎样处理。 工程要求:定义输入、输出、接口约定,以及任何情况下都不能破坏的规则。说明授权与输入检查范围。定义失败、超时、重试和重复执行只生效一次的规则。也要定义数据迁移与兼容限制。 运营要求:加入监控信号与隐藏敏感数据的日志。设置容量上限并写好操作手册。测试恢复与回到上一版的流程。 验收标准:接口约定与失败路径测试通过。重试或部分失败时,数据与授权规则仍正确。性能上限、监控、恢复与回到上一版的方法都已验证。 证据与限制(证据边界):没有一份官方标准能涵盖全部内容。不同团队、平台或框架的用法可能不同。 待确认:程序运行环境、数据位置、流量形态、数据一致需求和安全边界。也要确认兼容周期、服务目标(SLO)与恢复上一版的限制。

检查这份需求

请 AI 编程助手检查当前如何使用 最终一致性 (Eventual Consistency)。 定义:最终一致性允许数据改动后,各份副本短暂不同。如果没有新改动,而且更新流程持续正常运行,副本应该变得一致。 生产环境检查:检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。

C
这个术语有多正式?

行业惯例

工作中经常会用到这个术语。列出的来源可能说明用法或限制,但不会定义全部内容。

没有一份官方标准能涵盖全部内容。不同团队、平台或框架的用法可能不同。

适用范围
只包含来源有说明的内容:语义、实现、使用指南、避免事项
文档状态
稳定
核验日期
2026-07-30

证据来源与适用范围

正式来源 + 术语参考资料 · Microsoft Azure Architecture Center · 稳定 Event-Driven Architecture Style 适用范围: 语义、实现、使用指南、避免事项 本页用途: 直接术语参考 来源涵盖内容: 语义, 实现, 使用指南, 避免事项

自行复制

浏览器无法自动复制。请选择下方文字,再自行复制。