多くの非同期アクターを同時にアクティブ化および制御するプロジェクトを設計しています。
安定性とスケーラビリティを高めるには、どのアプローチを使用する必要がありますか?
ステートレスかステートフルか?
私が見る限り、違いは次のようになります。
を。ステートフル
Actor _act = new Actor (long key);
_act.DoSomething (object _what);
b. ステートレス
Actor _act = new Actor (long key);
_act = _act.DoSomething(object _what);
私が知っているように、2番目の方法は高価です-メモリ予約など。しかし、この1番目の2番目のアプローチでは、状態とロックを気にする必要がありません。
dotnetにはどのような方法が望ましいですか? 到達するアクターの目標数は約 100k で、1 つのノードで 1 秒あたり 2.5 ~ 3 ミルの操作です。
PS 各アクターには、計算する有限状態マシンがあります。
ステートフルの場合、定期的な非同期デリゲートによって呼び出されます
ステートレスの場合、時間次元を考慮してすべての操作で呼び出されます。