股票證券交易系統架構分析與設計


根據之前參與了一個國家級證券交易所新一代交易系統的經歷,畫了一個交易所基本架構圖,如下:

名詞解釋:

0. STEP協議是什么?
STEP: Securities Trading ExchangeProtocol,是中國金融行業數據通信標准JR/T0022-2004,目前被深圳交易所采用,作為LeveII數據向信息服務商分發的數據的標准協議。

 其實,這個交易所支持多種證券交易協議,包括:FIX,FAST協議。

1. FIX基本介紹
FIX--The Financial Information eXchange ("FIX") Protocol,金融信息交換協議.是針對交易相關消息的規范。在銀行、券商、交易所、投資機構、相關業間應用非常廣泛。這些市場參與者基於統一的語言進行自動交易。
fix是工業驅動的消息標准,它是開放和自由的,但不是一套軟件。而是一個規范,各廠商基於規范開發相應的軟件。作為在交易通信中的主導協議,fix與其它的訂單處理系統、交易系統融合。fix協議有兩層:會話層和應用層。會話層主要是負責傳輸數據,而應用層則是處理相關的業務數據。

 

2.FAST協議
FAST(FIX Adapted for Streaming) ,其核心是一個壓縮算法,將按照fix規范定義的數據經過壓縮以后,可以在很大程度傷降低發送、接收雙方的帶寬。

 交易所對穩定性和性能,有極高的要求,這就對架構設計能力有很高的考驗,有幸參與這一個有意思的過程,其實,里面的架構師都是來自微軟,ebay,IBM的一線架構師,其中Ebay的架構給了我們不少啟發。

首先說說我們的最終達到的成果吧:

目前可容納的投資者賬戶數超3億個,證券數量從原有系統的5千只可擴大至5萬只,容量擴大了10倍。並且具備每秒30萬筆、每日超4億筆委托的處理能力,是原有系統的3倍。新一代交易系統將平均委托處理時延約為1.1毫秒,僅為原有系統的百分之一,而五年總體成本僅是原有系統的1/3。     

這個架構核心思想也是借鑒EBAY架構師Dan Pritchett源於對大規模分布式系統的實踐總結,在ACM上發表文章提出BASE理論,BASE理論是對CAP理論的延伸,核心思想是即使無法做到強一致性(Strong Consistency,CAP的一致性就是強一致性),但應用可以采用適合的方式達到最終一致性(Eventual Consitency)。

但證券交易系統對數據一致性有更高要求,但交易所不缺錢,很多高性能,高可用都是用很貴的硬件堆起來的。

   

BASE是指基本可用(Basically Available)、軟狀態( Soft State)、最終一致性( Eventual Consistency)。

基本可用(Basically Available)

基本可用是指分布式系統在出現故障的時候,允許損失部分可用性,即保證核心可用。

電商大促時,為了應對訪問量激增,部分用戶可能會被引導到降級頁面,服務層也可能只提供降級服務。這就是損失部分可用性的體現。

軟狀態( Soft State)

軟狀態是指允許系統存在中間狀態,而該中間狀態不會影響系統整體可用性。分布式存儲中一般一份數據至少會有三個副本,允許不同節點間副本同步的延時就是軟狀態的體現。mysql replication的異步復制也是一種體現。

最終一致性( Eventual Consistency)

最終一致性是指系統中的所有數據副本經過一定時間后,最終能夠達到一致的狀態。弱一致性和強一致性相反,最終一致性是弱一致性的一種特殊情況。

ACID和BASE的區別與聯系

ACID是傳統數據庫常用的設計理念,追求強一致性模型。BASE支持的是大型分布式系統,提出通過犧牲強一致性獲得高可用性。

ACID和BASE代表了兩種截然相反的設計哲學

在分布式系統設計的場景中,系統組件對一致性要求是不同的,因此ACID和BASE又會結合使用。

參考資料

CAP和BASE理論

 

       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM