我们有一个akka/scala应用程序,它有一些我需要修复的天真的错误处理。
REST端点与进行远程调用以创建订单的内部参与者进行通信。
它使用ask完成此操作,当ask超时(例如,由于网络或通信错误)时,我们通过REST端点向客户端发送请求失败的消息。
问题是内部执行元有自己的排队/重试逻辑,它将继续调用远程接口,直到请求成功。
因此,我们会遇到这样的情况:我们已经告诉客户请求失败,但实际上它只是在排队(通常最终会成功)。客户重新提交请求,我们最终得到了100个重复的订单。
我的问题是:当询问请求超时时,akka是否支持回滚或毒化询问消息的通用方法?
暂无答案!
目前还没有任何答案,快来回答吧!