私はディスラプターのパターンについていくつかの調査を行いましたが、頭を包み込めないことが 1 つあります。
リング バッファのエントリを提供するプロデューサがあります。基本的に固定されているが無限の配列であるリングバッファがあります。リングバッファからのエントリを処理するコンシューマ (基本的には別々のスレッド) があります。
私は、ディスラプター パターンが株式市場の実際のシナリオでどのように使用できるかを関連付けようとしています。
通常、すべての注文を含むオーダーブックがあります。私の見方では、プロデューサーはブローカーから新しい注文を受け取ります。プロデューサーは、注文をリングバッファーに配置します。注文がリングバッファに配置された後、消費者は注文をフェッチし、注文書と照合します。
ここで、利点を理解するのに少し苦労している部分があります。スケーラブルなシステムに必要な複数の消費者がいる場合、どうすれば複数の消費者が注文を処理できますか?
整合性を確保するために、消費者がアクセスするときはオーダーブックをロックする必要があります。私が探しているのは、この質問に対する答えと、注文照合エンジンがこのパターンからどのように利益を得ることができるかという大まかなアイデアです。
LMAXは独自のオーダーマッチングエンジンを持っているので、見落としがあるはずです。
ありがとうございました