【问题标题】:Akka.net persistence with Cassandra and dynamic keyspace使用 Cassandra 和动态键空间的 Akka.net 持久性
【发布时间】:2026-02-03 18:15:02
【问题描述】:

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

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

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

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

对于此事的任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: c# cassandra akka.net


    【解决方案1】:

    再看了一下,akka.persistence.cassandra 插件好像不支持空间的运行时切换。也不可能使用 PersistenceActor 的 JournalPersistanceId 和 SnapshotPersistenceId 属性加载配置的不同部分,因为插件本身总是查看特定的 cassandra-journal 和 cassandra-snapshot-store 部分并从那里获取密钥空间。因此,我将不得不想出一种不同的方法,或许还要改变我分离数据的方式。

    【讨论】: