我在 Service Fabric (ASP.NET Core) 上有一个无状态服务,它将调用一个 Actor,并且 Actor 可能在内部也可以根据场景调用其他 Actor 和/或有状态服务。
我的问题是,由于系统的远程处理方面,我们是否需要考虑重复请求?
在我们早期的 Akka.Net 实现中,由于 TCP/IP 网络拥塞等原因,Actor 有可能收到重复的请求,我们通过给每条消息一个唯一的 Correlation Id 来处理这个问题。我们会将请求及其结果以状态存储在参与者上,如果再次返回相同的关联 id,我们将假设它是重复的并发送较早的结果,而不是重新处理请求。
我曾在 Microsoft 的一个示例项目中看到过类似的方法,但我似乎再也找不到了(Github 上的死链接)。
有谁知道这是否需要在 Actor 和/或有状态服务中处理?