無論是股票交易系統,還是數字貨幣交易系統,都離不開撮合交易引擎,這是交易平臺的心臟。同時,一個優秀的架構設計也會讓交易平臺的運維和持續開發更加容易。本文基於對開源項目的深入研究,總結了數字貨幣交易系統的架構設計。
關於撮合交易系統
撮合技術主要是從數據庫撮合技術向內存撮合技術發展,這是因爲數據庫撮合技術越來越無法滿足金融交易對於高可靠性、高性能、強安全性、可擴展性以及易維護性的需求。金融(幣幣)交易撮合系統中包括以下幾個核心模塊:
用戶:終端用戶委託報價與數量,生成訂單發送至交易平臺。
網關:負責收集用戶訂單,並將其派發給撮合引擎。
撮合引擎:交易系統中的核心部分,用於接收訂單並根據業務邏輯實現訂單撮合同時生成交易記錄,隨後給予用戶交易結果反饋。
數據庫:用來存放交易過程中的訂單和交易記錄,實現數據持久化。
消息隊列:一般用於訂單消息的傳輸
關於技術選型
一個交易所平臺的技術架構主要考慮安全性、分佈式、易擴展、容錯性、低延時、高併發等特性,以及熔斷機制、服務註冊和發現、消息服務、服務網關、安全認證、內存數據庫、關係型數據庫等各種選項,最終形成了如下技術選型:
分佈式基礎進行架構SpringCloud與Dubbo之間二選一,由於SpringCloud更加知名,SpringCloud的程序員更好招聘,有利於系統的長期運維升級,而且SpringCloud是基於SpringBoot開發,比較有親切感,所以選擇了SpringCloud,其實由於阿里系的強大影響,國內Dubbo使用更加廣泛,不同的團隊可以根據自己的情況選擇。
引入Hystrix斷路器作爲容錯保護模塊,防止單個服務的故障,耗盡整個撮合系統容器的線程資源,避免分佈式環境裏大量級聯失敗。對通過第三方客戶端訪問依賴服務出現失敗、拒絕、超時或短路時執行回退邏輯。
採用Eureka作爲服務註冊與發現中心,實現中間層服務,以達到負載均衡和中間層服務故障轉移的目的。
服務網關Spring Cloud Gateway與 Zuul的選型,選擇了Zuul,因爲名字短一些。
引入SpringCloud Security安全認證模塊用於構建安全的應用程序和服務,SpringCloud Security在Spring Boot和Spring Security OAuth2的基礎上,可以快速創建和實現常見的安全認證方式,如單點登錄,令牌中繼和令牌交換等。
引入Redis作爲內存數據庫,兼做系統數據緩存和內存計算。
使用MySQL作爲關係數據庫,性能測試非常過關,而且對熟悉MYSQL的程序員非常友好。
消息隊列中間件MQ採用了Kafka,具有超高性能體現。
以上就是ADT幣上線了哪些交易所(比特幣怎麼交易)的詳細內容,更多請關注本站其它相關文章!