0

アクターが送信された順序でメッセージを処理する必要があるという問題があります。Akka では、アクター A とアクター B の間のメッセージは常に、送信された順序で到着することが保証されています。これは、Service Fabric の Reliable Actors には当てはまらないようです。私のテスト ケースでは、メッセージは非決定的な順序で受信されます。

最初のメッセージが処理されるまで次のメッセージを送信しないことで順序付けを強制できますが、これではポイント全体が無効になります。私は本当にメッセージを送信して忘れたいのですが、受信側のアクターによって順番に処理されることを知っています。

これを行うためのパターンを見た人はいますか?Orleans Actors にも、同様にメッセージの順序が乱れる可能性があると思います。おそらく、Orleans ソリューションもここで機能するでしょう。

4

1 に答える 1

4

Orleans は、アクターへのメッセージ配信の順序を保証しません (既にディスカウントしているため、一度に 1 つずつ送信しない限り)。

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 に答える