RabbitMQキューからセンサーメッセージを読み取るサービスファブリックサービスがあります。次に、メッセージの内容を持つセンサーアクタを呼び出して、センサアクタがその状態を更新できるようにします。センサアクタはルームアクタを呼び出して状態を更新し、プロセスはフロア、建物、サイトに移動します。ActorConcurrencyLockTimeoutExceptionビルディング階層の状態を集約するアクターについて
時には、部屋、階または建物のアクタでActorConcurrencyLockTimeoutExceptionが発生し、メッセージキューのバックアップが開始されることがあります。この並行性の問題を避けるために使用した別のデザインパターンがありますか?
これは、信頼できる俳優が基づいている仮想俳優パターンについての以下の研究論文に基づいて考えるとわかっている動作です。 "アクターが以前の呼び出しを処理していた場合、 要求は、その要求の実行が 完了するまで、キューに入れられます.https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02 /Orleans-MSR-TR-2014-41.pdf – Baskar
参照したい場合は、他のパターンもあります。 https://github.com/Huachao/azure-content/blob/master/articles/service-fabric/service-fabric-reliable-actors-patterns-introduction.md – Baskar
ありがとう、私はhttpsで他のパターンを見てきました://github.com/Huachao/azure-content/blob/master/articles/service-fabric/service-fabric-reliable-actors-patterns-introduction.mdしかし、私は私がどのように変化するかについて私の頭を包んでいるようには思えないアンチパターンセクションのコメントに基づいて分散パターン計算のような別のパターンを使用する私の設計では、このパターンが有益かもしれないと述べています。 –