0

我有一个问题,要求我的演员按发送顺序处理消息。在 Akka 中,actor A 和actor B 之间的消息总是保证按照发送的顺序到达。在 Service Fabric 中的 Reliable Actors 中似乎并非如此。在我的测试用例中,消息是以不确定的顺序接收的。

我可以通过在处理第一条消息之前不发送下一条消息来强制排序,但这会破坏整个观点。我真的很想发送并忘记消息,但知道它们将由接收参与者按顺序处理。

有没有人看到这样做的模式?我认为 Orleans Actors 具有相同的乱序消息可能性。也许奥尔良的解决方案也可以在这里工作。

4

1 回答 1

4

Orleans 不保证消息传递给演员的顺序(除非您一次发送一个,因为您已经打折了):

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

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

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

于 2015-12-08T09:21:17.953 回答