有没有办法在Akka.net中删除某个序列号之后的消息?我知道DeleteMessages(seqNumber)会删除某个序列号之前的所有消息,有没有在seqNumber之后删除的方法?主要目标是恢复到以前的状态(可能这些消息是错误创建的)。
显然可以手动编辑数据库(或者将这些事件的is_deleted设置为true ),但我不确定这是不是一个好主意。
谢谢
发布于 2018-04-16 13:21:08
DeleteMessages(seqNr)的存在只是为了节省空间,以防您将事件外包与快照一起使用,并且您的系统可以容忍不完整的事件历史。
删除事件是与事件外包这一概念相违背的。事件的目的是描述事实,这已经发生了。你不能改变过去,因为可能有一些其他来源已经读取了该事件,并根据它更新了一些状态/执行了一个操作。
在事件源系统中纠正事件的影响通常归结为产生一个补偿事件,这将逆转你想要修复的事件的影响。
https://stackoverflow.com/questions/49797931
复制相似问题