从Akka.net持久性日志重播事件
我正在用Akka.Net和Akka.Net.Persistence用SQL Server日志实现一个CQRS/ES解决方案。到目前为止,使用默认的SQLServer插件似乎一切都很好 最后要验证的是能够从特定AR重新加载/重播事件的能力,例如重建读取模型或填充读取模型的新实现投影。我的方法是从de DB读取事件,并将它们放在eventbus上或直接放在“projection actor”的邮箱中 我似乎找不到任何手动重新加载事件的例子,除了自己查询日志表(执行sql查询)和使用内置序列化程序之外,我基本上一直在使用这个从Akka.net持久性日志重播事件,akka,persistence,cqrs,event-sourcing,akka.net,Akka,Persistence,Cqrs,Event Sourcing,Akka.net,我正在用Akka.Net和Akka.Net.Persistence用SQL Server日志实现一个CQRS/ES解决方案。到目前为止,使用默认的SQLServer插件似乎一切都很好 最后要验证的是能够从特定AR重新加载/重播事件的能力,例如重建读取模型或填充读取模型的新实现投影。我的方法是从de DB读取事件,并将它们放在eventbus上或直接放在“projection actor”的邮箱中 我似乎找不到任何手动重新加载事件的例子,除了自己查询日志表(执行sql查询)和使用内置序列化程序之外
是否有人或多或少地尝试做同样的事情?根据您的需要,有几种方法:
PS:一些日志实现有自己的专用序列化程序,但没有基于SQL的序列化程序。相信我,您永远不希望依赖默认序列化程序来持久化事件。根据您的需要,有几种方法:
PS:一些日志实现有自己的专用序列化程序,但没有基于SQL的序列化程序。相信我,您永远不想依赖默认序列化程序来持久化事件。谢谢您的回复!PersistentView绝对不是我想要的。我现在设置读取模型投影的方式是在EventStream上发布事件。projection actor路由器正在订阅EventStream上的事件。这个设置似乎工作得很好。我试图解释的问题是,何时需要一个新的读取模型(和投影),何时需要重建读取模型。在我们自己的自定义事件存储中,我们只需从事件存储加载所需的事件,并将它们放在队列中进行重新处理。此外,为什么不使用Akka.Persistence.Common.Sql中的默认序列化程序呢?当然,在我的场景中,使用我们自己的序列化程序来持久化事件会更方便。存储对象比通过线路尽可能快地发送对象具有不同的特性。但主要原因是默认序列化程序可能(而且很可能)在将来的Akka.NET版本中更改。在sql server持久性中插入自己的事件序列化程序的最简单方法是什么?基于sql的插件使用默认序列化机制。您可以在中阅读更多信息。感谢您的回复!PersistentView绝对不是我想要的。我现在设置读取模型投影的方式是在EventStream上发布事件。projection actor路由器正在订阅EventStream上的事件。这个设置似乎工作得很好。我试图解释的问题是,何时需要一个新的读取模型(和投影),何时需要重建读取模型。在我们自己的自定义事件存储中,我们只需从事件存储加载所需的事件,并将它们放在队列中进行重新处理。此外,为什么不使用Akka.Persistence.Common.Sql中的默认序列化程序呢?当然,在我的场景中,使用我们自己的序列化程序来持久化事件会更方便。存储对象比通过线路尽可能快地发送对象具有不同的特性。但主要原因是默认序列化程序可能(而且很可能)在将来的Akka.NET版本中更改。在sql server持久性中插入自己的事件序列化程序的最简单方法是什么?基于sql的插件使用默认序列化机制。你可以在网站上阅读更多关于它的信息。