Akka.net持久性删除来自特定序列号的消息

时间:2018-04-12 13:32:18

标签: akka.net akka.net-persistence

有没有办法在Akka.net中的某个序列号后删除邮件?我知道DeleteMessages(seqNumber)删除了某个序列号之前的所有邮件,有没有办法在seqNumber之后删除?主要目标是恢复到以前的状态(可能这些消息是错误创建的)。

显然可以手动编辑数据库(或者将这些事件的is_deleted设置为true),但我不确定这是不是一个好主意。

由于

1 个答案:

答案 0 :(得分:1)

DeleteMessages(seqNr)仅用于在您使用带快照的事件源时节省空间,并且您的系统可以容忍不完整的事件历史记录。

删除事件是针对事件源的一个概念。该事件的目的是描述已经发生的事实。你不能改变过去,因为可能有一些其他来源已经读过那个事件并更新了一些状态/根据它执行了一个动作。

纠正事件源系统中事件的影响通常归结为产生一个补偿事件,即要解决你要修复的事件的影响。