私のプロジェクトでは、1つのプロセス内で複数のサービスを実行する中央コンポーネントがあります。たとえば、スケジューラがあり、DBからデータをポーリングし、ジョブ(同時に実行されるジョブが可能)を起動します。 ジョブが終了すると、スケジューラに通知されます。 通知サービスもあります。メールやその他のサービスが別のサーバーをポーリングして保留中のジョブなどに通知します。 このようなアプリケーションでは、デカップリングを減らすためにイベント駆動型の設計が有効です。私の究極の目標は、複雑さを軽減することです。パフォーマンスの問題はありません。ここではいくつかのアイデアです:TPL Dataflow、Akka.NETに関するアドバイス、または単一プロセスのイベントドリブンデザインのアドバイス?
- 使用イベントやメカニズムを購読公開の中央ハブと反応拡張子。
- 使用TPLデータフロー
- 使用AKKA.NET私に
すべてのアプローチはしかし合法的に見える:それは戦いに単純すぎるかも知れません実装がはるかに簡単
1-)複雑さに対して
2)TPLデータフローはかなり良く見えますが、ドキュメントでは重いCPUまたはI/Oには が適していると書かれています。どちらも私にとっては問題ではありません。また、AKKAのアプローチとは異なり、TPL DataFlowは単一のプロセスです。将来、これらのサービスを別々のプロセスに分ける必要がある場合は、いくつかのコードを変更する必要があります。
3-)Akkaは並行性と耐久性の問題を重視しています。将来的にはこれらのサービスをより小さなプロセスに分ける必要があるが、実装するのは過度なことかもしれないが、それは良い選択であろう。
あなたはどう思いますか?
この質問は、意見に基づく回答を促すので、ここでは話題にはなりません。 – Enigmativity
この質問が意見に基づく回答を奨励すれば、すべての質問の半分は同じです。 –
@Enigmativityはあなたの質問の1つです:http://stackoverflow.com/questions/7035781/shadowing-inherited-generic-interface-members-in-net-good-bad-or-ugly –