Akka.net 使用 Cassandra 和动态键空间的持久性

Akka.net persistence with Cassandra and dynamic keyspace

我无法确定在使用 Akka.Persistence.Cassandra 插件时是否可以在 Akka.net 中设置 cassandra-snapshot-store 和 cassandra-journal 表的键空间。

在我当前的设置中,我在 Cassandra 中有两个单独的键空间(每个客户端一个),我想将它们的数据和消息历史记录分开。

据我了解,这些表是在插件的 CassandraJournal 和 CassandraSnapshotStore 类 的 PreStart() 方法期间创建的。

我不介意在加载 PreStart() 方法时使用虚拟键空间,但我希望能够在系统启动后更改键空间 运行.

如有任何帮助,我们将不胜感激。谢谢!

进一步研究后,akka.persistence.cassandra 插件似乎不支持 space 的运行时切换。也不可能使用 PersistenceActor 的 JournalPersistanceId 和 SnapshotPersistenceId 属性加载配置的不同部分,因为插件本身总是查看特定的 cassandra-journal 和 cassandra-snapshot-store 部分并从那里获取 keyspace。因此,我将不得不想出一种不同的方法,也许会改变我隔离数据的方式。