大道至簡,衍化至繁:證券企業系統高可用運維之道

2021-01-13 英方

可靠的系統是業務穩定、快速發展的基石,而系統高可用歷來是業務正常運行的有力保障。相比於其他金融機構,證券行業具有自身的特點和規律,基於證券行業複雜業務場景下的系統高可用建設既需要準確的技術選型,同時也需要滿足業務運行的客觀規律。

本文作者東方證券系統運行總部總監殷皓以東方證券的具體實踐為例,通過相關技術選型、業務場景應用詳細闡述了證券行業複雜業務場景系統高可用建設的具體實踐和發展思路。

一、證券行業的行業屬性

證券行業首先是處於證監會的監管之下,所以有很強的監管要求。證監會明確指出「市場發展越快,就越要嚴格監管」,因此證券行業面臨「依法監管、從嚴監管、全面監管」的監管環境。為了指導行業會員信息系統建設,證監會發布了大量信息技術管理辦法與行業標準,規定了業務連續性的具體要求,每年災備能力、演練次數要有具體的報告和指標,備份能力指標等,並且定期對這些內容進行巡視與審計。

除了行業監管之外,行業本身發展也為證券企業帶來了內部要求的壓力。隨著證券市場的規範化和創新步伐的加快,業務系統逐漸增加,以東方證券為例,現在每年都有50套以上新增的系統,這些新增的系統對運維能力提出了更高的安全要求和技術要求。因此擺在我們面前的重要問題,就是如何根據行業及自身特點,能夠更好的創建自身的高可用能力,進而滿足這些需求。

不同於其他行業的,證券行業的信息系統運維特點主要包括:

第一、較長的可變更窗口證券行業7x24小時不間斷運行的系統目前在逐漸演化和增加,但總體數量並不是很多,工作日休市期以及周末的48小時的存在,使得證券行業有一個較長的可變更窗口。

第二、測試頻繁並且習慣於用生產環境直接參測由於有了較長的變更窗口,對於業務的測試也就可以更加的頻繁,並且經常是將核心系統的主生產環境直接投入測試。各交易所也經常以通關、聯調的名義要求會員單位必須以生產環境進行新業務的測試驗證工作。主生產的參測導致了大量的回退操作,這些回退操作對高可用系統帶來了破壞性作用,運維人員疲於應對高可用系統的修復與重建工作,這對高可用系統的技術選型有非常大的影響性因素。以東方證券為例,每年高可用系統的重建達上百次,是銀行業的數倍。

第三、人員精簡隨著相關新技術的應用,運維已經從分散運營、到集中運營再到智慧運營,運維人員的學習主動性要求和成本越來越高,這也導致人員進一步精簡,每個崗位需要擔負的責任也更大。

二、高可用技術選型

基於以上的特點,在高可用技術選型上,也就需要更加慎重。我們從分析一般系統的基本架構入手,大部分系統可分解為接入層、應用層、數據層和硬體層。除數據層外大部分層次是無狀態信息的,高可用建設比較簡單,組件之間功能等價,無數據交換,冗餘部署即可解決大部分問題。數據層則不同,大部分系統在收束到數據層後,裡面儲存有狀態信息,必須採用專業的高可用技術才能保持業務的連續性。

從技術視角分類的話,我們認為數據層的高可用技術有可以分為四個流派。

首先是資料庫源生的日誌重放技術。由於資料庫的內部機制是先寫日誌再提交事務,可以通過將日誌傳到備份系統,主備兩邊同步或異步執行日誌內容,實現系統的高可用。採用這個方案的優點是功能由資料庫源生提供,準確度有保障,效率相對較高。缺點是不支持異構資料庫之間的高可用。不同的資料庫產品有針對自家產品的不同的實現方案,但是基本上都是同源同類的。

而在不同資料庫之間,就只能採取第三方方案來做了,這就是第二類流派日誌解析回放技術。比如英方軟體的i2Active,它的原理也是基於資料庫先寫日誌再提交事務機制,只是不可避免的有一個處理流程串在裡面存在的,首先是想辦法獲得日誌的,通過api接口抓日誌,再將二進位日誌解析成可讀取的字符,重新封裝成自己的格式,再分發出去,在目標端提交事務。

這種方案的優點就是支持異構資料庫,並且目標端選擇非常多,不僅可以入庫還可以做文件,或者直接對接消息中間件kafka等。缺點是準確性依賴廠商的日誌解析能力,長流程串導致效率一般。

第三種流派,則是通過第三方文件系統同步方案。在早期資料庫版本還沒有提供日誌重放功能時,硬體存儲複製是應用較多的的高可用方案,即將本機存儲空間通過硬體層傳輸過去。其局限性是會硬體綁定,並且投入非常高。

不過隨著相關軟體方案的出現,逐漸解決了這個問題,比如英方的i2COOPY,它就是模擬了硬體操作技術,通過在作業系統層安裝一個代理程序捕獲I/O操作,通過網絡將I/O操作傳輸出去實現與存儲複製類似的功能。它的優點主要是和應用無關,非常貼近於底層,可以同步一個庫,也可以同步一個文件;既可以做應用高可用也可以做資料庫高可用。

第四種方案則是像Hadoop大數據平臺、mpp架構數據倉庫、分布式newsql資料庫等系統,他們提供的是整體解決方案,並不是某一項具體技術,是由一大堆技術搭建起來的。優點是是自帶高可用功能,當然,也存在諸如體量大、成本高(無法用單套小系統去做分布式實踐)等缺點。

三、場景應用

每一種技術的選擇,都需要考慮到具體的應用場景。我們結合證券行業頻繁測試的背景將高可用場景分為:結構簡單但是由於數量多導致的複雜場景和由於多系統業務關聯導致的複雜場景兩大類。

前面我們從技術視角出發把高可用技術分為4類。現在我們站在運維的視角,把高可用技術重新分類為2類:需要維護和無需維護。如果把高可用比做一個大廈的話,那麼建造這個大廈就需要兩種基石。一種是「白石」,是透明的,需要進行維護,它的創建和運維都是需要初始化的,運行過程當中需要監控,應用系統的變更可能導致白石損壞;另一種是「黑石」,無需維護,比如說做文件系統複製,因為跟應用系統是無關的,搭建好之後應用系統的變更不會對其產生影響。

在搭建的過程中會有兩個基本原則:第一,選擇黑石、白石兩條腿走路。不管是文件系統複製還是資料庫複製,都有可能出現的問題,所以需要在建設過程中要選擇兩條腿走路;第二,業務需求優先。雖然白石越多需要維護的量就越大,黑石越多維護量越小,這個一定要優先滿足業務場景的需求。黑石場景的一個缺點是目標端是不可用的狀態,如果業務要求做讀寫分離,要去查詢一些數據,這時候白石、黑石比例要優先滿足業務要求,再去想怎麼在滿足業務前提下簡化體系和工作量。

黑石有什麼好處呢?黑石技術相對比較單一,我們可以統一管理,可以通過簡單平臺把300多套黑石方案進行監管。白石則不同,各種技術方案的具體實現差異極大,現在沒有什麼監控體系可以把多種白石技術合在一起進行統一運維。

舉一個多系統的複雜架構例子。場外交易平臺本身是一個大的主庫,同時承擔了帳戶、交易和經管,由於負載分流的需要,按功能拆分,把帳戶和交易剝離出來成為了2個獨立的子系統,同時要實時管控和分析,數據還要寫回經管庫做清算。

縱向來看,每一個子系統都有讀寫分離的要求,所以採用了資料庫同步的方案。橫向來看帳戶和交易還要將數據實時寫回到經管庫上,在經管庫上做實時報表和分析,經管庫自己還是要做讀寫分離的,這就是一個「五白一黑」組成的高可用架構。這套系統在證券行業主生產環境參測的背景下,每次參測後都要重建5套白石高可用。我們要對這種系統進行優化,降低它的複雜度。比如說因為交易和帳戶在經管庫上是有全量數據的,所以對其查詢負載是可以放在經管庫上去做。經過改造之後,原來的「五白一黑」的架構就變成了「三白三黑」的架構,這樣運維量就大大降低了。

這裡還有一個高可用系統建設衍生出的副產物,在高可用技術當中採用了黑石架構,它是一個不可讀不可寫的狀態,目標端資源是閒置浪費的狀態。因此要儘量減少資源浪費,就是可以把多個系統的黑石同步數據匯總到一臺存儲上的共用存儲空間,這有兩個場景:第一,測試數據快速交付。過去老的方法,比如說託管系統要測試要最新的數據,首先託管系統要等待備份窗口需數小時不等,備份本身2小時,在脫敏伺服器上恢復數據要2小時,脫敏要1小時,脫敏後數據再備份2小時,再把數據通過特殊網絡拷貝測試環境裡面去,恢復再要2小時。

基本上要交付一套測試數據,周期在7到8小時以上。新的方法是當開發提出要測試數據時,可以對已經存在的託管的黑石數據進行存儲快照,把它掛在脫敏伺服器上直接脫敏,脫敏之後可以通過存儲的卸載、掛載放到規定的測試機上,這樣就從七八個小時壓縮到了一個小時了;第二,這種架構也可以對接雲管平臺,在啟用災備時動態劃分資源,實現動態資源災備的作用。

四、大道至簡,衍化至繁

總體來說,高可用的運營轉型經歷了四個階段。第一階段是手工執行命令;第二階段是標準化,把一些常用的東西固化下來形式腳本;第三階段借用自動化運維平臺通過流程系統把前面做好的腳本串聯起來,實現一個工作自動化;第四階段目標則是實現運維的智能化。

自動化運維和智能運維的差別主要在決策形成機制方面。自動化運維一般是定時重複性的,或者流程驅動,事件驅動。運維動作的發起大多還是要依靠人。智能運維希望能減少人工幹預。為了實現智能化,東方證券已經在做基礎平臺的準備。建好基於zabbix的統一監控平臺和運維大數據分析平臺,這些平臺和前面的自動化運維平臺是基礎。

目前的自動化運維平臺更多是一個執行機構,統一監控平臺提供實時狀態信息,後面的運維大數據分析平臺提供歷史經驗、學習分析,這些平臺綜合在一起才能真正實現智能分析決策,並且真正實現向自動、智能演變的過程。

這裡引用老子在道德經中的一句話:「大道至簡,衍化至繁」,再複雜的體系也是由簡單系統堆砌起來的。所以,在規劃建設運維系統時一個有效的工作方法論是把複雜的事物進行分解、歸納、合併同類項,最後實現一個從簡到繁再到簡的變化過程。

相關焦點

  • 大道至簡——粉青《天球》
    簡約的線條,純淨的釉色於無形中將「大道至簡」的真意蘊含其中,讓觀者在賞心悅目中也能領悟到天地至理。 作者 知識小卡片 大道至簡,語出老子《道德經》:「萬物之始,大道至簡,衍化至繁」。 大道至簡在現代漢語裡已經衍化為一個成語,指大道理(基本原理、方法和規律)是極其簡單的,簡單到一兩句話就能說明白。
  • 英方軟體助力安信證券打造「多對多池化」高可用集群技術方案
    (如銀行等外部機構提供的應用)實踐「多對多池化」高可用集群技術的探索和實踐,介紹了單點應用從傳統的「一對一」冗餘技術,到「多對多池化」高可用集群技術的創新與落地,生產上實現了在不改變現有系統架構、應用程式並滿足固定IP等的要求下,以較低的運維人力及軟硬體投入成本,有效解決豎井式IT架構的伺服器單點故障可能引發的手動切換等問題,故障轉移時間從分鐘級縮短至秒級。
  • 道合投資公司董事長裴繼偉:投資 大道至簡
    他信奉道家學說,認為老子的道家思想博大精深,諳合股道,所以把旗下的資產管理公司取名"道合",寓意公司、員工以及客戶是一個志同道合的團隊,在永無止境地探索投資之"道"。  記者:作為公司的主要投資決策者,你如何把關整個團隊的投資風格和價值取向?  裴繼偉:我把整個團隊的投資體系的核心歸納為"遵循價值、注重策略、道法自然"。
  • 大道至簡:高效溝通是這樣「煉」成的
    能清楚地說明白一件事是一種能力,能大道至簡地說明白一件事更是一種能力。來,讓我們做兩個練習:第一個練習:請用一句話來描述你的公司。第二個練習:請用一句話來介紹你自己。說了半天,到底什麼是大道至簡?大道至簡是指大道理(指基本原理、方法和規律)是極其簡單的,簡單到一兩句話就能說明白。所謂「真傳一句話,假傳萬卷書」,就是這個意思。一門技術一門學問,弄得很深奧是因為沒有看穿事物的實質,搞的很複雜是因為沒有抓住問題的關鍵。
  • 數學:大道至簡 駕馭無窮(科技名家筆談)
    追根溯源,代數系統的產生基於數系的發展,而數的來源,中國道家認為,道生一,一生二,二生三,三生萬物。一是單點集合的標誌,一生於道,而道即玄,即深奧、神妙。幾何系統最基本的元素是點,點動成線,線動成面,面動成體。幾何中的點是抽象的,可以標明位置,但沒有大小、範圍。「一」和「點」在真實世界裡是不存在的,由它倆演繹出來的代數和幾何在真實世界裡也是不存在的。數學世界是人類思維的存在。
  • 大道衍化疏而有漏,為什麼一最難算?閒聊劍來三兩事
    大道之為一。「大道衍化」上古算卦分卜和筮,卜用龜甲,筮用蓍草。筮即演算,每根蓍草叫1策,總共50策。取出不用的1策代表太極,這是第一步。49策任意分成兩堆,代表兩儀,即天地,這是第二步。大道以50為滿,天衍卻為49,表示天地自然的法則不能嚴絲合縫,要留一個變量,否則滿了就無法發展變化。五十根蓍草表示天地萬物,不用的一表示天地未生前的太極,也可以理解為代表人的變量「一」。天地大道的演化,皆因有了這個「一」。「疏而有漏」第204章,道祖對陸沉說:「疏而不漏即是癥結所在,奉行天道之法,已經不足以立身,故而崩塌。大道五十,天衍四九,人遁其一,一生萬物。」
  • 讓宏觀與微觀並重 忘言得意大道至簡
    這叫做大道至簡。老子在《道德經》第五篇說:「天地不仁,以萬物為芻狗」;第六十三篇說:「圖難乎其易也,為大乎其細也。天下之難作於易,天下之大作於細。是以聖人終不為大,故能成其大」。老子認為天地把萬物和雛狗同等看待,不會特別照顧人類;莊子稱之為齊物論,這是天道。退一步來說,世人同等看待是人道。
  • 大道至簡——馮·諾伊曼的《計算機與人腦》
    約翰·馮·諾伊曼被稱為計算機之父,這一稱謂當然是至高無上的榮譽,尤其在計算機已經成為必不可少的工具——甚至是通向未來必不可少的工具時,「計算機之父」的稱謂就更加有意義了。這一本薄薄的《計算機與人腦》的小冊子,就讓人不得不嘆息「大道至簡」,能用平實無華的語言,說出深刻而生動的道理,唯有這樣的大師才能做到。本書不由讓人想起費曼《發現的樂趣》訪談錄,似乎頗有一些相通之處。顧名思義,這本書主要在探討計算機與人腦的相似與不同之處。試圖通過分析與對比加深對計算機與人腦兩者工作機制的研究與理解。
  • 大道至簡,盈虧同源之境!
    大道至簡,盈虧同源之境!大道至簡,交易盈虧同源之境!你不能只能享受盈利時的歡樂,卻接受不了虧損後的落寞,這樣最終你一定會被市場所淘汰。投資市場的倖存者,都是因為看到了這一點,盈虧同源的道理,才形成自己的交易規則,才去有選擇的交易,對自己交易規則之外的,看不懂的,理解不了,不會妄圖去獲取,這才是最重要的。
  • 大道至簡,遁去的一,淺談手上的振出竿
    《大道至簡,遁去的一》淺談手上的振出竿第一篇:一支高仿用10年!         大衍之數五十,其用四十有九,大道至簡,遁去的一!遁去的這個「一」是什麼呢?是太極?是陰陽?是唯一的生機?還是無窮的變化?對於我的裝備庫,也有這遁去的「一」,我會在此系列分享的終結篇揭曉!
  • 重讀《華為的冬天》:活下去是硬道理 大道至簡
    任正非的管理之道是道法自然的,他經常用自然界的東西、現象來做管理的比擬,比如冬天、薇甘菊、鹽鹼地、都江堰,等等。薇甘菊是一種被植物學家稱為「每分鐘一英裡」的生命力極強的野草,它只需要很少的水分和極少的養分就能迅速地蓬勃生長,覆蓋所有的植物。任正非教導大家:「我們做產品需要具備薇甘菊這樣的能力,要在末端接入層成為霸主。」
  • 張首晟:大道至簡,偉大的思維都簡單而通用
    人類文明的偉大在此:世界的複雜性用原理的簡單性解釋,正如你做任何企業,想賺錢,就要用簡單的辦法解決複雜的問題。講起人文的思想,就是一句話:人人平等。一個國家,其出發點一定是每個公民都覺得不言而喻的公理,否則,公民不但難以理解,也可能不同意。美國的憲法200年不變,為什麼?
  • 大道至簡,全世界公認最有效的學習方法—費曼學習法
    後來小編的化學老師給了我們幾句話:「大道至簡,複雜的問題簡單去做,簡單的問題用心去做。」其實小編的化學老師說的這幾句話的本質叫做「費曼學習法」。費曼不但是繼愛因斯坦之後傑出的的理論物理學家,而且因為在教育領域也頗有建樹,因此他也是一位碩果纍纍的教育家。
  • 氫分子·科普丨大道至簡,簡約不凡!
    氫·簡約不凡 「大道至簡」,簡約亦美。 元素周期表第一位的氫,可能是自然界中最能代表簡單的元素了,其排名是1,原子量也是1,好像宇宙法則尤其鍾愛氫元素,把氫稱作萬物之始也不為過,一個質子和一個電子就可形成一個氫原子,
  • 英語啟蒙:大道至簡,這個最笨的方法可以創造奇蹟!
    01大道至簡因為網絡通達的原因,現在學任何知識和技能都比以前方便快捷,在英語啟蒙教育方面,更是百花齊放,流派紛呈。那是因為大家都忽略了英語啟蒙的一個重要的法則:大道至簡。通俗地說,就是「貪多嚼不爛」。學好英語需要先做減法,即聚焦專注。畢竟,一個人的精力是有限的,像達文西那樣在多個領域都做出傑出貢獻者,可以說是百年一遇,不具有普適性。我們絕大多數的普通人想要在有限的人生中有所成就,必須先要找到自己擅長的領域,然後「聚焦專注」。
  • 18道關於中國股市的簡單數學題:這才是真正的大道至簡
    ,股民可以正常下單,但只是暫存在券商的系統裡,9:30才提交到交易所、 路徑是這樣的:股民(9:25-9:30下單)——證券公司(暫存)——交易所(9:30接收) 集合競價的產生 價格優先?