执行演员之间的有序沟通

时间:2015-12-07 23:19:50

标签: azure-service-fabric orleans

我遇到了一个问题,需要我的演员按照发送的顺序处理邮件。在Akka中,演员A和演员B之间的消息始终保证以发送的顺序到达。在Service Fabric中的Reliable Actors中似乎不是这种情况。在我的测试用例中,消息以非确定性顺序接收。

我可以通过在处理第一条消息之前不发送下一条消息来强制进行排序,但这会使整个点失败。我真的想发送并忘记这些消息,但知道它们将由接收方按顺序处理。

有没有人看过这样做的模式?我认为奥尔良演员有同样的无序消息可能性。也许奥尔良的解决方案也适用于此。

1 个答案:

答案 0 :(得分:4)

Orleans不保证向演员发送消息的顺序(除非您已经打折,否则一次发送一封消息):

https://github.com/akka/akka-meta/blob/master/ComparisonWithOrleans.md#messaging-guarantees

但是,如果您在Orleans中使用流(使用正确的基础流提供程序),则可以控制排序:

http://dotnet.github.io/orleans/Orleans-Streams/

相关问题