有没有办法在Akka.net
中的某个序列号后删除邮件?我知道DeleteMessages(seqNumber)
删除了某个序列号之前的所有邮件,有没有办法在seqNumber
之后删除?主要目标是恢复到以前的状态(可能这些消息是错误创建的)。
显然可以手动编辑数据库(或者将这些事件的is_deleted设置为true),但我不确定这是不是一个好主意。
由于
答案 0 :(得分:1)
DeleteMessages(seqNr)
仅用于在您使用带快照的事件源时节省空间,并且您的系统可以容忍不完整的事件历史记录。
删除事件是针对事件源的一个概念。该事件的目的是描述已经发生的事实。你不能改变过去,因为可能有一些其他来源已经读过那个事件并更新了一些状态/根据它执行了一个动作。
纠正事件源系统中事件的影响通常归结为产生一个补偿事件,即要解决你要修复的事件的影响。