gpt4 book ai didi

Akka 故障恢复 : Gated State

转载 作者:行者123 更新时间:2023-12-01 01:56:56 25 4
gpt4 key购买 nike

akka documentation表示如果与远程系统的链接处于门控状态,则所有出站消息都将被丢弃。这是否意味着它们将立即被交付给死信,或者只有在状态更改为隔离时才会被交付给死信?

日志是关于隔离状态的明确说明,但不是门控状态:

Association with remote system [...] has failed,
address is now gated for [5000] ms. Reason: [Disassociated]

Association to [...] having UID [...] is irrecoverably failed.
UID is now quarantined and all messages to this UID will be delivered to dead letters.
Remote actorsystem must be restarted to recover from this situation.
  • 如果远程系统由于入站连接成功而从门控状态转换为事件状态,是否会重新发送所有丢弃的出站消息?
  • 在远程参与者上注册的 DeathWatch 是否足以检测丢失的消息,或者我是否需要单独处理门控(但不是隔离)系统的消息故障?
  • 最佳答案

    虽然门控所有消息都会进入死信,但它们不会以任何方式缓冲和重新发送 - 换句话说,如果您想要在您的参与者中为此添加额外的逻辑(文档的相关部分),则无法保证交付: http://doc.akka.io/docs/akka/2.4/general/message-delivery-reliability.html)
    DeathWatch可以避免向已经死亡的actor发送消息,但是不能保证在它死亡之后但在你的actor收到终止消息之前你没有向它发送消息,因此这不足以建立传递保证.

    根据您的需要,实现交付保证可以像与远程参与者的简单确认协议(protocol)一样“轻”,或者像 AtLeastOnce 一样“重”。 (文档: http://doc.akka.io/docs/akka/2.4/scala/persistence.html#at-least-once-delivery-scala )它将处理节点崩溃而不会丢失消息。

    关于Akka 故障恢复 : Gated State,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39874527/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com