事件溯源-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 6

我的博客阅读本文

1. 关于事件溯源

MartinFowler在2005年的博客中提及了“EventSourcing”这个词语,他将事件描述为一个应用的一系列状态改变,这一系列事件能够捕获用来重建当前状态的一切事实真相。他认为事件是不可变的,事件日志是一种只会不断追加(appendonly)的存储。事件从来不会被删除,这意味着事件可以被重播。

事件溯源(EventSourcing),即通过发生过的事件追溯当前状态的原因,这些事件是造成当前状态的唯一真相来源

举例说明:支付宝的账户余额与进出明细存在一种关系:进出明细应该是导致账户余额变动的原因,其中存储了构成账户余额的各个事件,影响当前账户余额的是这些事件的总和。

事件溯源的基本思想是确保在事件对象中捕获应用程序状态的每个更改,并且将这些事件对象按照它们发生的顺序存储(事件明细),这些存储的信息称为事件日志,它可作为直接存储状态本身的替代。不仅可以通过事件日志查询这些事件,还可以使用事件日志重建过去的状态,并作为自动调整状态以应对追溯更改的基础

只存储事件而不存储状态,这样不至于在同时发生大量并发访问时࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值