事件溯源概述
事件溯源提供了一种灵活的方法来管理和持久保存 grain 状态。 与标准 grain 相比,事件溯源的 grain 具有许多潜在优势。 其一,它可以与许多不同的存储提供程序配置一起使用,并支持跨多个群集进行异地复制。 再者,它将 grain 类与 grain 状态的定义(由 grain 状态对象表示)和 grain 更新(由事件对象表示)清晰地分开。
文档的结构如下:
JournaledGrain 基础知识介绍如何通过从 JournaledGrain<TGrainState,TEventBase> 派生来定义事件溯源的 grain、如何访问当前状态以及如何引发更新状态的事件。
复制的实例说明了事件溯源机制如何处理复制的 grain 实例并确保一致性。 它讨论了竞争事件和冲突的可能性,以及如何解决它们。
即时/延迟确认说明了延迟确认事件和重入如何提高可用性和吞吐量。
通知说明了如何订阅通知,让 grain 对新事件做出反应。
事件溯源配置介绍如何配置项目、群集和日志一致性提供程序。
内置日志一致性提供程序说明了当前包含的三个日志一致性提供程序的工作原理。
JournaledGrain 诊断说明了如何监视连接错误并获取简单的统计信息。
就 JournaledGrain API 而言,上述行为相当稳定。 但是,我们希望尽快扩展或更改日志一致性提供程序列表,以便让开发人员能够更轻松地插入标准事件存储系统。