【问题标题】:How-to enable message persitence for akka.net如何为 akka.net 启用消息持久性
【发布时间】:2015-12-04 03:01:01
【问题描述】:

全部

是否可以将 akka.net 演员收件箱消息存储在数据库中? 如果使用 akka.net 系统的主机崩溃会怎样?

【问题讨论】:

    标签: akka.net


    【解决方案1】:

    持久化消息只是更大问题的一部分,即可靠的消息处理。简而言之,目标不仅是持久化消息,而且通常是为了保证消息已被接收并正确处理。默认情况下,Akka.NET 使用最多一次传递语义,这意味着消息使用尽力而为的策略进行处理。这允许保持高吞吐量并使参与者的行为远离幂等。但是,有时我们需要一些消息具有更高的可靠性。

    其中一种技术是在您的参与者系统前面使用另一个可靠的队列(例如 RabbitMQ 或 Azure 服务总线)并将其用于可靠的消息传递。

    其他解决方案是使用来自 Akka.Persistence 库的 AtLeastOnceDeliverySemantic 演员。在这里,您可以指定负责重新发送和确认已处理消息的参与者。从那里你可以决定使用 Akka.Persistence 本身内置的事件源原语来持久化传入的消息。在这种情况下,持久性后端是可插入的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 2018-01-20
      • 1970-01-01
      • 2022-12-06
      • 1970-01-01
      • 2012-12-26
      相关资源
      最近更新 更多