代码之家  ›  专栏  ›  技术社区  ›  ShS

Akka集群切分:切分实体共享日志吗?

  •  0
  • ShS  · 技术社区  · 9 年前

    tutorial 演示集群切分。在集群中 sharding example ,作者创建了一个共享日志,并发表以下评论:

    // Start the shared journal one one node (don't crash this SPOF)
    // This will not be needed with a distributed journal
    

    is :

    journal.plugin = "akka.persistence.journal.leveldb-shared"
    
    1. 为什么碎片实体共享日志?我的理解是,Akka持久性不支持多个写入,但支持多个读取。共享日志需要什么?我的印象是,每个执着的演员都有自己的日记。为什么非共享 LeveldbJournal 不支持分布式读取?这样做有什么困难吗?

    2. persistence 作为默认值 akka.cluster.sharding.state-store-mode

    3. 一个有点相关的问题:我有 reimplemented PersistenceQuery 。我可以从persistentActor查询日志中的事件,并设置一个流来接收其持久化事件。我已经测试过了,效果很好。然而,在我的测试环境中,我无法让它在碎片演员中接收事件 InMemoryJournalStorage persistenceId 让参与者查询,但我在阅读端没有收到任何事件。关于让Akka persistence使用集群切分,我有什么遗漏吗?我应该是吗 append/prepend ing 持久ID

    1 回复  |  直到 9 年前
        1
  •  1
  •   Michal Borowiecki    9 年前
    1. 它们不应该(至少在生产代码中不应该)参见此处的警告注释: http://doc.akka.io/docs/akka/current/java/persistence.html#shared-leveldb-journal

    1. 二者都

    2. 是的,如果您希望故障切换工作。如果您不希望故障转移,而您只有一个碎片,那么使用碎片就没有任何意义。