Scala的开源项目eventsourced

Eventsourced开源库包是增加了将Scala的 actor状态进行持久化功能,包括对Akka支持

有如下功能:
1.通过将接受到事件消息追加到日志
2.接受到消息后切换当前状态。
3.在内存驻留当前状态(memory image)
4.通过重新播放接受到的事件恢复当前或过去状态。
5.不直接持久化当前状态(except optional state snapshots for recovery time optimization)

Eventsourced执行的是write-ahead log (WAL)方式,用于保持跟踪Actor接受到的消息,并且通过重新播放恢复相应的状态。

将事件消息追加到日志,而不是直接进行持久化,在高频交易时能支持有效的复制,相比其他WAL-based 系统,Eventsourced 能够在日志中保持整个事件消息历史,并且可使用任选的状态的快照

eligosource/eventsourced · GitHub