gpt4 book ai didi

java - 如何实现 transient Actor失败的重试?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:54 26 4
gpt4 key购买 nike

我处于一种典型的情况下,我有一组 worker actors 从队列中获得工作。 Worker 故障可能是暂时的和由于环境造成的,也可能是永久性的和由于无效工作造成的。

在 worker actor 中,我正在处理永久性故障案例,但我如何为 transient 案例实现重试?有了 supervisor,我可以让 actor 重新启动,这对于尝试重置到工作状态是可取的,但是当它失败时我如何重试它正在处理的消息?

谢谢!

最佳答案

您需要实现命令模式。 Command 是一个对象,它封装了要执行的操作及其参数,并且独立于 Actor 而存在。如果 Actor 以可重试的方式失败,监督者将命令重新提交给 Actor。如果向 Actor 提供流并处理消息,则 Actor 必须填充命令列表并记录完成,以便它可以在正确的位置重新启动。如果流不可倒带,则您必须在开始之前将所有命令排队,并且 Actor 必须记录每个命令的完成状态,以便在瞬时失败时可以重新提交链。

命令模式也可以用来实现历史记录和撤销。

关于java - 如何实现 transient Actor失败的重试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950393/

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