Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Akka集群切分:切分实体共享日志吗?_Akka_Persistence_Sharding_Persistent Storage_Eventual Consistency - Fatal编程技术网

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

Akka集群切分:切分实体共享日志吗?,akka,persistence,sharding,persistent-storage,eventual-consistency,Akka,Persistence,Sharding,Persistent Storage,Eventual Consistency,我正在跟踪阿克卡演示集群切分。在集群中,作者启动一个共享日志并发表以下评论: // Start the shared journal one one node (don't crash this SPOF) // This will not be needed with a distributed journal 该杂志使用了: 为什么碎片实体共享日志?我的理解是Akka持久性不支持多个写入,但支持多个读取。共享日志的必要性是什么?我的印象是,每个坚持不懈的演员都有自己的日记。为什么非共享的L

我正在跟踪阿克卡演示集群切分。在集群中,作者启动一个共享日志并发表以下评论:

// Start the shared journal one one node (don't crash this SPOF)
// This will not be needed with a distributed journal
该杂志使用了:

  • 为什么碎片实体共享日志?我的理解是Akka持久性不支持多个写入,但支持多个读取。共享日志的必要性是什么?我的印象是,每个坚持不懈的演员都有自己的日记。为什么非共享的
    LeveldbJournal
    不支持分布式读取?做那件事有困难吗

  • 本教程基于Akka 2.4,在此版本中,群集分片使用
    持久化
    作为
    Akka.cluster.sharding.state-store模式
    的默认值。在本例中,哪个组件使用snapshop/journal支持?它是不同碎片中的持久参与者,还是与复制相关的碎片信息?到底需要分发什么?我发现相关文件含糊不清,令人困惑

  • 如果我只有一个碎片,我需要一个分布式日志吗

  • 一个有点相关的问题:我有一个基于的已弃用的PersistentView。我可以从persistentActor查询日志中的事件,并设置一个流来接收其持久化事件。我已经测试过了,它是有效的。但是,我无法让它在我的测试环境中,通过MemoryJournalstorage(我不相信它是分布式日志)中的
    接收分片参与者中的事件。在我的测试场景中,我只有一个shard和一个actor,我使用惟一的
    persistenceId
    让actor查询它,但在读取端我没有收到任何事件。让Akka persistence与集群切分一起工作,我有什么遗漏吗?我是否应该
    append/prepend
    ing用于查询事件的
    persistenceId

  • 它们不应该,至少在生产代码中不应该,请参见此处的警告注释:
  • 共享LevelDB实例是单点故障,因此只能用于测试目的

  • 两者

  • 是的,如果您希望故障切换工作。如果您不想进行故障切换,而您只有一个分片,那么使用分片就没有任何意义

  • 如果没有看到您的一些代码,就无法判断


  • 谢谢因此re:4,基本上就是环境,我可以让
    PersistentView
    在Akka 2.4中工作,现在我尝试用上面链接的基于
    PersistenceQuery
    的查询视图替换它。。我试图重现一个最小的示例,但我被
    LeveldbSharedJournal
    这件事弄糊涂了。不管怎样,您对问题1-3的回答似乎表明,我不应该为了从日志插件查询持久性参与者的持久性Id而修改持久性参与者的持久性Id,对吗?
    journal.plugin = "akka.persistence.journal.leveldb-shared"