我在报纸上看到过https://martinfowler.com/eaadev/eventsourcing.html. 我知道如何维护更改日志及其压缩和其他事情,但从未理解为什么它被称为事件源。
pu3pd22g1#
因为事件日志是真理的源泉。换句话说,应用程序的状态来源于事件。
5q4ezhmt2#
正如选择的答案所说,事件源是一种持久性机制,其中应用程序状态不是存储的,而是从历史事件中推断出来的。换句话说,真相的唯一来源是事件日志。应用程序中的每一个突变都按顺序存储为一个事件,在一个事件存储的流中。顺便说一句,您已经用kafka标记了这个问题,但是kafka的设计目的不是用于事件源,而是用于发布消费者消息通信。虽然从理论上讲,您可以将事件永久地保存在kafka中,并订阅流以重放它们并将它们投影以推断应用程序的状态,但还有更适合的产品,例如在编写时具有并发控制的eventstoredb。ps:对于讲西班牙语的人,我这里有一个关于活动采购的介绍视频。对于说英语的人,我推荐活动商店博客
2条答案
按热度按时间pu3pd22g1#
因为事件日志是真理的源泉。换句话说,应用程序的状态来源于事件。
5q4ezhmt2#
正如选择的答案所说,事件源是一种持久性机制,其中应用程序状态不是存储的,而是从历史事件中推断出来的。
换句话说,真相的唯一来源是事件日志。应用程序中的每一个突变都按顺序存储为一个事件,在一个事件存储的流中。
顺便说一句,您已经用kafka标记了这个问题,但是kafka的设计目的不是用于事件源,而是用于发布消费者消息通信。虽然从理论上讲,您可以将事件永久地保存在kafka中,并订阅流以重放它们并将它们投影以推断应用程序的状态,但还有更适合的产品,例如在编写时具有并发控制的eventstoredb。
ps:对于讲西班牙语的人,我这里有一个关于活动采购的介绍视频。对于说英语的人,我推荐活动商店博客