1 台のマシンに、非常に高速で低遅延、高スループットのプロセス間 (またはアプリケーション ドメイン間) 通信を実装する必要があります。
メッセージは通常、数ミリ秒ごとに流れます (ただし、数分間のピークでは、1 ミリ秒あたり最大 3 ~ 5 のメッセージがある場合もあります)。メッセージを送信し、消費者がメッセージを「要求」したいかどうかを通知するために何らかの形でプロデューサーにコールバックします)。
私はいくつかの調査を行いましたが、メモリにマップされたファイルが利用可能な最速の可能性であるように見えますが、その周りの通信スタック全体を独自に実装する必要があります (共有メモリの割り当てと管理、そこへのメッセージのコピーとそこからのメッセージのコピー、および消費者への通知新しいメッセージを使用する準備ができています)。Windows での IPC メソッドのアーキテクチャを示す写真に出くわしました ( http://blogs.msdn.com/b/salvapatuel/archive/2009/06/08/working-with-memory-mapped-files-in-net-4 .aspx ) これらのメソッドは既に MMF を使用しているようです。つまり、私が説明したように、名前付きパイプが既に行っていることを再実装することで、実際に車輪を再発明するのではないでしょうか。または、名前付きパイプが提供できるものよりもはるかに高速なプロトコルを実際に実現できますか?
Edit1: 名前付きパイプが MMF の上に構築されていることを示す画像への frgotten リンクの追加 ( http://blogs.msdn.com/b/salvapatuel/archive/2009/06/08/working-with-memory-mapped-files- in-net-4.aspx )