【发布时间】:2022-01-05 22:51:14
【问题描述】:
我们有一个 akka/scala 应用程序,其中包含一些我需要修复的天真的错误处理。
REST 端点与进行远程调用以创建订单的内部参与者通信。
它使用询问来执行此操作,并且当询问超时时,例如由于网络或通讯错误,我们通过 REST 端点向客户端发送请求失败的消息。
问题是内部actor有自己的排队/重试逻辑,它会继续调用远程接口,直到请求成功。
所以我们遇到的情况是,我们告诉客户请求失败,但实际上只是在排队(并且通常最终会成功)。客户重新提交请求,我们最终得到了 100 个重复订单。
我的问题是:akka 是否支持在询问请求超时时回滚或毒化询问消息的通用方式?
【问题讨论】: