拆解交易系統–性能優化,安全加固與彈性擴縮容

  • 2020 年 2 月 14 日
  • 筆記

前幾篇文章我們拆解了交易系統架構層次的設計方案,對於程式碼細節我們討論很很少,今天基於幾個方面簡短的介紹一下,未來有時間可以針對性的進行擴展講解。

性能優化

在我們做了單元化設計時,由於服務模組中一些服務可能存在異地調用情況,服務的性能優化也就提上了日程。

需要對核心流程服務模組設計實現做codereview,做好非同步化,針對性對性能優化。收益提升了性能,降低了資源利用。

防雪崩

在線服務往往會遇到這樣的問題,某個服務因為某些原因出現過載,導致請求處理時間被拉長。於是服務吞吐能力下降,造成大量請求擠壓在隊列中,服務調用方出現超時。調用方可能還進行重試。最終可能造成這個服務雪崩掉了。

所以一般這種情況,我們需要做好熔斷降級,限流等操作,防止服務過載。

安全加固

我們網關服務直接承受著外部流量的衝擊,系統安全就是很重要的話題。反爬,鑒權,驗簽,越權都需要搞起來。

核心方案是用戶登錄後,後台下發token給客戶端,客戶端每次請求攜帶上token,後台整體處理過程中,核心流程需要驗證token是否合法,非法請求會被拒絕,從而保證服務安全性。

資源調度問題

由於我們的服務存在明顯的波峰波谷情況,除早晚高峰外,大部分時間請求處於較低水位,成千上萬台伺服器容量資源,勢必在低谷時造成大量資源白白浪費。

為解決此類問題,公司中間件團隊在推Serviceless方案,可以實現服務實例的實時擴縮容,基於調度系統把機器資源分配和服務實例部署做到自動化,實現資源優化配置。

在業務對服務資源需求有變化時,可以及時,彈性實現服務資源重新分配和實例部署。