2013-11-20 87 views
0

我已經做了一些研究與擾亂模式,有一件事我不能包裹我的頭周圍。LMAX的破產者以何種方式可用於股票市場?

有生產者,提供環緩衝區的條目。 有一個環緩衝區,基本上是一個固定的,但無盡的陣列。 有消費者(主要是sperate線程),處理來自環緩衝區的條目。

我想涉及如何破壞者百通能夠在A股市場的實際情況使用。

通常你會有包含所有訂單的訂單。我如何看待它,製片人會收到經紀人的新訂單。生產者將訂單放入環緩衝區。訂單放入循環緩衝區後,消費者提取訂單並與訂單簿進行交叉覈對。

現在,這裏是我對理解優勢有些麻煩的部分。如果會有多個消費者,這是您想要的可擴展系統,那麼如何有多個消費者處理訂單?

訂單被消費者訪問時必須鎖定以確保完整性。 我正在尋找的是這個問題的答案,並且大致介紹了一個訂單匹配引擎如何可能從此模板中受益。

LMAX都有自己的順序匹配引擎,所以必須有我忽視的東西。

謝謝

回答

1

他們有一個消費者自己處理訂單。其餘的消費者對這個訂單處理器的輸出起作用 - 例如返回響應,編寫日誌,寫入數據庫等。實際的訂單處理髮生在單個線程上,這是訪問訂單的唯一線程,因此不需要鎖定它。

他們聲稱能夠做到最高6級萬元的訂單/秒,這個單一線程。

+1

沒錯。關於LMAX體系結構最重要的一點是(正如他們公開描述的那樣),就是有一個線程執行實際的順序匹配,它可以在不鎖定的情況下與輸入和輸出線程進行通信。這意味着雖然這項工作是通過一個線程完成的,但它能夠以極快的速度運行。這種方法不會隨着額外的內核而擴展,但這並不重要,因爲它在單個內核上的速度足夠快。 –

+0

謝謝你的回答拉達和湯姆安德森。 但是,然後問題出現: – user3014924

+0

謝謝你的回答拉達和湯姆安德森。 根據你的回答,我開始認爲Disruptor應該被看作是以非並行但平行的方式在結構上處理行爲的一種手段。 什麼干擾器不是,是快速命令匹配的模板。 對嗎? – user3014924

相關問題