「興業證券股份有限公司金融科技部副總經理 王偉強」證券公司技術中臺的發展與應用


「興業證券股份有限公司金融科技部副總經理 王偉強」證券公司技術中臺的發展與應用

興業證券股份有限公司金融科技部副總經理 王偉強

以大數據、雲計算、人工智能、區塊鏈為代表的現代信息技術應用日新月異,對傳統金融業的管理、運營、服務模式帶來極大的改變,同時也為金融業和資本市場發展帶來嶄新機遇。近年來,金融業不斷強調“科技賦能”,而以互聯網巨頭阿里、騰訊、華為等為代表的企業提出的“大中臺,小前臺”的戰略,是通過集中建設技術中臺,高效輸出技術能力到前臺業務開發團隊,為實現“科技賦能”提供了可行的技術路線。本文將結合興業證券在技術中臺建設應用方面的多年實踐,對技術中臺的範疇和概念、技術中臺的價值、技術中臺的建設以及如何讓技術中臺推動證券公司實現“科技賦能”進行深入闡述和討論。

證券公司系統架構的發展及變遷

1. 證券公司系統架構的發展

證券行業經過幾十年的高速發展,業務日趨複雜、競爭日趨激烈,信息技術已成為行業的核心競爭力。近些年,以大數據、雲計算、人工智能、區塊鏈為代表的現代信息技術應用日新月異,信息系統架構不斷升級變遷,從傳統的單體架構,到 SOA 架構,再演變為如今的微服務分佈式架構。

(1)單體架構。顧名思義,系統所有代碼邏輯都集中在一個工程之中。早期應用多數是採用這種單體架構,對於小項目是一個很好的選擇。但隨著項目功能不斷增加,工程體量越來越大,業務邏輯越來越複雜,代碼的集中讓開發迭代和運行維護工作都變得愈加困難。

(2)SOA 架構。SOA,即面向服務的應用架構模式,SOA 架構比較典型的應用是企業服務總線 ESB, 在 SOA 架構下,大大減少了系統間的耦合度,但 ESB 的服務顆粒度一般比較粗,不利於服務靈活編排和組合,同時 ESB 在整個企業信息系統中是一個核心樞紐,存在通信熱點問題,一旦出現故障將導致大部分系統失效。

(3)微服務分佈式架構。隨著互聯網行業的快速發展,在大流量的場景下很多互聯網公司率先遇到了應用性能的天花板,加上大量個性化需求的湧現,各大互聯網公司進一步考慮前中後臺服務抽象和解耦。在此基礎上出現了微服務架構,將系統的服務完全獨立出來,採用註冊發現機制取代 ESB 的中央路由節點。微服務的去中心化和細粒度獨立部署最大限度地提高了代碼複用性、生產效率和應用性能。

應用架構的演進為企業中臺建設做好了技術儲備。

2. 中臺建設的必要性

傳統的信息技術架構不僅嚴重約束了 IT 對業務需求變化的快速靈活響應,也使得信息系統累積的風險越來越大,難以適應證券行業創新發展的要求。

中臺就像是在前臺與後臺之間添加的一組“變速齒輪”,將前臺與後臺的速率進行匹配,是前臺與後臺的橋樑。它為前臺而生,易於前臺使用,使後臺資源順滑流向用戶,響應用戶。

通過中臺層,企業可以將臃腫不堪的前臺系統中的穩定通用業務能力“沉降”到中臺層,為前臺減肥,恢復前臺的響應力,又可以將後臺系統中需要頻繁變化或是需要被前臺直接使用的業務能力“提取”到中臺層,賦予這些業務能力更強的靈活度和更低的變更成本。

因此,企業在信息化的過程中,需要建設強大的中臺解決前臺的創新問題。

興業證券技術中臺實踐

「興業證券股份有限公司金融科技部副總經理 王偉強」證券公司技術中臺的發展與應用

圖 技術中臺整體架構

1. 以技術中臺為核心的技術架構

技術中臺的架構會極大影響整個公司的技術體系,通過設計分層服務和一系列面向開發和運維的輔助工具,構建了以技術中臺為核心的技術架構(見上圖)。

(1)基礎設施服務,即 IaaS 層,提供硬件底層支持 ;

(2)基礎服務層,即 PaaS 層,包括分佈式服務框架、分佈式數據庫、分佈式消息、分佈式存儲、分佈式事務、實時監控服務等等 ;

(3)技術中臺,包括從各服務中心抽象出來的共性業務能力,例如交易、賬戶、會員、行情、渠道、數據、智能等等。同時包含了對研發的支持,包括通用組件服務、開發框架支持、中間件封裝及運行開發支持等。最後,通過服務治理,中臺服務提供相關配套支持 ;

(4) 網 關, 基 於 Open-Resty 搭建的服務網關,提供了服務路由、服務鑑權、灰度發佈、服務限流、服務降級等功能 ;

(5)業務應用,經過調取技術中臺,組裝形成獨立業務服務能力的業務應用。

2. 技術中臺完整技術棧

技術中臺主要功能包含業務組件、技術組件和服務治理三部分。業務組件提供標準的通用業務服務,供前臺組裝個性化功能,實現業務需求的快速響應和支撐。技術組件服務於系統開發人員,提供各類基礎庫和框架以及一系列工具 ;致力於標準化研發流程,提高研發效率,提高代碼複用能力,實現對自主研發的支撐。服務治理主要面向運維人員,其提供的管理後臺及工具用於支持運維人員系統化管控已上線的各類應用和服務,避免手動運維,提升運維和監控效率。

(1)自研微服務 RPC 框架(Lisa)

興業證券微服務 RPC 框架(以下簡稱 Lisa)是採用Zookeeper 做服務發現、基於 Netty 異步 IO 庫實現的長連接型高性能高可用的微服務框架。Lisa 除了支持精簡的 TCP 私有協議外還支持 RESTful 協議提升兼容性,以便於用最小成本將歷史陳舊系統納入微服務體系。Lisa 與市面上流行的微服務框架相比有更折衷的特性平衡。

Lisa 除了在性能和易用性上做了平衡之外還獨創地加入了事件機制。Lisa 的事件機制模仿了 .NET 平臺語言的 Class設計,服務提供者除了對外提供接口方法之後還會拋出事件用於回調服務消費者邏輯。通過該機制,服務消費者可以監聽(Catch)目標服務感興趣的事件來驅動自身響應邏輯的執行。Lisa 微服務的事件機制為系統雙向解耦提供了更多手段。

Lisa 微服務框架實現了應用從單體結構向分佈式網狀結構的飛躍,它是技術中臺研發支撐的重要組成部分。利用微服務架構研發人員可以更好地組織和分派到不同子項目中去,減少開發過程中的協同耦合和代碼衝突。

(2)配置集中管控

技術中臺通過配置集中管控,面向開發人員提供一套標準的配置訪問接口來統一不同應用的配置訪問手段。該配置集中管控解決方案帶來了諸多好處 :一是配置存儲方式與配置訪問接口解耦 ;二是配置的變更通過配置管控系統進行,避免了手工運維 ;三是不同團隊開發者無需重複編寫配置訪問代碼 ;四是支持服務接口變更配置,業務邏輯實現手段更靈活。

興業證券基於 Zookeeper 實現了樹形配置集中存儲解決方案,Zookeeper 的樹形節點結構更貼合配置應有的數據結構。通過 Zookeeper 的 Watch 機制將讀取過的數據異步更新至內存來實現配置重複高速訪問。

(3)系統化代碼發佈

代碼發佈是運維的主要工作之一,包括後端代碼和前端資源。證券行業是強監管領域,開發和運維工作隔離是底線,而一個強而有效的系統是保障這一底線的必備手段。基於Jenkins 的 DevOps 系統將開發者的源碼編譯、打包、發佈至運維容器中,一氣呵成,避免了手工發佈的低效方式。

(4)服務網關

OpenResty 是基於 Ngnix 和 Lua 的高性能 Web 平臺,內部集成精良的 Lua 庫、第三方模塊、依賴項。基於 Open-Resty 搭建的服務網關,提供了服務路由、服務鑑權、灰度發佈、服務限流、服務降級等功能,可以滿足高併發和高可用的系統要求。

(5)全鏈路監控和性能管理

通過內置採集組件採集各個應用的運行時數據,包括接口調用、DBMS 交互、日誌寫入、Cache 訪問等,將應用業務邏輯的各個關鍵環節數據全量壓縮採集並在高吞吐的流式分析中心進行集中分析。

基於 Kafka 的日誌收集功能,實現了公司內網海量日誌採集和並行分析計算。服務性能管理(APM)通過部署大量並行計算節點,將日誌哈希採集至對應的計算節點進行計算和存儲。通過高效的海量時序數據庫和表格存儲,將各個應用的關鍵環節性能分析報表進行存儲,相關上下文日誌存儲算法通過降低讀取效率和數據一致性的預期,來支持大規模並行寫入,這樣的設計非常適合監控系統的存儲場景。

技術中臺體系的挑戰

以技術中臺建設帶動的技術架構轉型,對應用系統從設計階段、開發階段、發佈階段到運維階段都有不同的要求,對現有的整個 IT 體系和技術人員都是一種挑戰。

一是對運維體系的挑戰。傳統架構下,只要保證特定應用正常運行即可,而在微服務架構下,服務快速發佈需要大量的重複部署,日常運維需要保證幾十個甚至上百個服務正常運行,給整個運維體系帶來了前所未有的挑戰。傳統依靠人工的方式去運維是絕對行不通的,這就倒逼運維體系變革,依靠自動化運維、容器化部署、智能監控、故障自愈等技術手段提升信息系統整體的安全穩定運行水平。

二是對性能和可用性的挑戰。各業務流量匯聚到中臺服務,性能和可用性是最大的問題。面對大量用戶訪問和請求,技術中臺服務要能扛得住大流量、高併發的考驗。同時,隨著服務越來越多,技術中臺會日趨龐大,涵蓋服務定義、服務網關、負載均衡、全鏈路監控的服務治理將是一個重要的關注點。

三是對 IT 團隊變革的挑戰。在原來的開發模式下,開發一個應用往往在一個團隊內形成閉環,但在微服務的架構下應用開發不可能在單一團隊中閉環,所有技術人員要和不同的系統、不同的中臺技術平臺打交道,要形成服務接口規範和高質量的文檔,對他們原有的理念和習慣有很大的挑戰。技術人員的思維方式和團隊之間的溝通協同也會有很大的改變,IT 團隊架構需要按照新的組織架構進行重構。貫穿開發、測試、運維、運營等各部門聯繫和溝通不斷加強,DevOps 應運而生,以微服務架構為核心的技術中臺體系正在改變技術團隊組織方式。

結語

信息科技蓬勃發展,從“互聯網 + 金融”和“金融 + 互聯網”的互聯網金融概念之爭到“金融科技”概念的盛行,對金融行業的影響的論調也從“顛覆”“改良”到現在的“賦能”,這是信息科技發展帶來最直觀的迭代變化,而實現“科技賦能”是對證券公司自身技術能力的挑戰。興業證券的技術中臺實踐還處於剛剛起步的階段,未來還有很長的路要走,希望我們的實踐和探索能夠為行業總結一些可分享可複製的模式,為整體行業進步貢獻自己的力量。隨著行業越來越多的證券公司投入技術中臺建設,從技術共性角度,我們建議 :第一,形成開放的接入標準,促進能力複用;第二,促進形成協作共享的生態,很多微服務架構是同構的技術平臺,在這上面很多共性的東西,像服務治理類、監控、部署運維有技術共性的東西,行業是可以一起來進行推動的 ;第三,真正為行業發展賦能,推動應用開發商通過開放各家公司的技術中臺開放能力,推動整個證券行業的發展。

「興業證券股份有限公司金融科技部副總經理 王偉強」證券公司技術中臺的發展與應用


分享到:


相關文章: