張伶 陶然 東華大學計算機科學與技術(shù)學院
引言:隨著網(wǎng)絡經(jīng)濟發(fā)展的深入,微服務架構(gòu)現(xiàn)已取代“SOA”成為我國互聯(lián)網(wǎng)領(lǐng)域的研討重點,而且許多互聯(lián)網(wǎng)都已做了大量的實踐探索。在網(wǎng)絡技術(shù)發(fā)展的推動下,互聯(lián)網(wǎng)金融正在進行微服務架構(gòu)的引用探索研究,重建應用系統(tǒng)結(jié)構(gòu),以促進互聯(lián)網(wǎng)金融新發(fā)展。
微服務架構(gòu)是以網(wǎng)絡平臺為基礎(chǔ)的一種架構(gòu)風格,在某個層面上引用了Unix的設計原則,是一種將單一應用細化為以單組小服務的策略,也是為用戶提供最終價值的微服務平臺。微服務架構(gòu)的建立是互聯(lián)網(wǎng)金融創(chuàng)新發(fā)展的一個重要方向,在發(fā)展過程中已逐漸顯示出了應用與運行優(yōu)勢。
傳統(tǒng)服務軟件在拓展與構(gòu)建上存在一定的局限,傳統(tǒng)服務軟件一般由服務端、數(shù)據(jù)庫和客戶端三部分組成,這三部分任何一方發(fā)生改變都會引起整體的變化,而系統(tǒng)則需要重新構(gòu)建和部署新版本。此外,傳統(tǒng)單塊服務軟件構(gòu)架在進行水平延伸時也必須延伸整個系統(tǒng),并不能很好的針對某一功能板塊來進行延伸。微服務架構(gòu)是對傳統(tǒng)服務軟件的改革創(chuàng)新,很完美的解決了分類進行優(yōu)化處理時遇到的問題。微服務架構(gòu)主要以組為單位,對問題分類處理,相互間是互不影響的個體,相關(guān)系統(tǒng)問題在組內(nèi)進行即可。微服架構(gòu)相較于其它系統(tǒng)架構(gòu)而言,具有以下特點及優(yōu)勢:
(一)復雜度可控。微服務架構(gòu)在將系統(tǒng)分組優(yōu)化時,巧妙地避免了傳統(tǒng)服務軟件復雜、堆砌的缺點。每一組微服務指定一個服務內(nèi)容,通過良好的接口清晰的呈現(xiàn)服務界面。每組微服務體積體,服務內(nèi)容單一,且每個微服務都可以由規(guī)模較小的團隊掌控,可靠性與安全性都得以提升。
(二)獨立部署。微服務架構(gòu)的優(yōu)點是擁有獨立部署的能力。每組微服務都是獨立存在的個體,以自身運行系統(tǒng)為準,獨立部署,獨立運行。微服務架構(gòu)要堅持以提高程序運行效率為目標,組織對不同性質(zhì)且互不干擾微服務系統(tǒng)的構(gòu)建。此外,微服務架構(gòu)還擁有自動部署的運行技術(shù),這種技術(shù)講抵抗微服務架構(gòu)構(gòu)建的風險與難度,縮短應用交付周期,促使高效化發(fā)布的進行。
(三)技術(shù)選型靈活。在微服務架構(gòu)下,技術(shù)選型是去重心化的。不同網(wǎng)絡平臺應根據(jù)發(fā)展趨勢與戰(zhàn)略目標選擇適合發(fā)展的系統(tǒng)。由于每組微服務架構(gòu)是獨立存在且體積較小的系統(tǒng),所面臨的技術(shù)棧升級難度也比較小,有時甚至可以選擇重新部署新的微服務系統(tǒng)。微服務應用注重更新,系統(tǒng)會隨時間不斷進行演進和更新,技術(shù)選型并不重視中心論,因此在更新演進中具有較大的主動性,大大降低了系統(tǒng)崩潰的可能性。(四)容錯、拓展性好。在傳統(tǒng)運行程序中,一旦某一系統(tǒng)發(fā)生故障,就會波及到整個運行程序,造成系統(tǒng)坍塌的后果。而微服務架構(gòu)則不會出現(xiàn)這樣問題,受獨立運行優(yōu)勢的影響,當不同組建有個性發(fā)展特征時,微服務架構(gòu)就表現(xiàn)出了極大的靈活性,每個服務系統(tǒng)可以根據(jù)發(fā)展需求實現(xiàn)拓展,靈活延伸性強。
(一)系統(tǒng)終端提供技術(shù)服務的應用
在互聯(lián)網(wǎng)金融系統(tǒng)中,可以創(chuàng)新網(wǎng)關(guān)服務、終端用戶權(quán)限服務、財務管理服務、CMS系統(tǒng)、支付與存管服務和后臺管理等系統(tǒng),將微服務架構(gòu)落實到實處。微服務架構(gòu)的應用,可以適當引用REST服務技術(shù),統(tǒng)一對外服務系統(tǒng)。無論是前服務或后數(shù)據(jù)終端,都是統(tǒng)一調(diào)度使用RESTful,統(tǒng)一微服務對外支持系統(tǒng)。微服務之間需要創(chuàng)建一種服務發(fā)現(xiàn)機制,以此為平臺建立各服務系統(tǒng)間的聯(lián)系,服務程序啟動時會立即展示出注冊者的信息,根據(jù)需要訂閱服務。應用微服務架構(gòu)值得注意的點是,負載均衡。要對負載均衡器做實時數(shù)據(jù)監(jiān)控,保障服務的質(zhì)量。
(二)優(yōu)化配置互聯(lián)網(wǎng)金融運行應用
互聯(lián)網(wǎng)金融應用的微服務都需要部署多個服務端來提供服務,服務端之間要表現(xiàn)出明顯均衡的狀態(tài),提高微服務架構(gòu)的服了效率。微服務容錯需要采取失效切換、加速失敗的方法。在連續(xù)的服務器失敗的情況下需要直接熔斷,不再進行調(diào)用,避免服務器故障破壞其它服務器的運行。微服務在互聯(lián)網(wǎng)金融小紅的應用,需要注意對客戶側(cè)的軟件負載均(Ribbon)、網(wǎng)關(guān)集群(ZUUL、SSO等)、斷路器(Hystrix)等相關(guān)平臺工具的使用,實現(xiàn)可視化微服務注冊中心和可視化配置中心。
(三)日常生活中的金融服務應用
微服務在日常生活中常適用網(wǎng)絡銀行,作為互聯(lián)網(wǎng)金融行業(yè)較為成功的典型案例,已被人們廣泛使用,微信銀行上可以進行轉(zhuǎn)賬匯款、投資理財以及互聯(lián)網(wǎng)終端平臺的信息咨詢和交互。實現(xiàn)移動終端的網(wǎng)上消費和支付,賬單明細自動歸納整理,數(shù)據(jù)圖表智能推送到平臺之上,便于隨時查詢。互聯(lián)網(wǎng)金融產(chǎn)品還能得到宣傳,交易更為廣闊和自由。
實踐證明,微服務架構(gòu)的應用存在較大的利潤空間。互聯(lián)網(wǎng)金融在應用微服務架構(gòu)時,要主動迎接微服務帶來的機遇與挑戰(zhàn)。互聯(lián)網(wǎng)金融業(yè)需要避免因微服務而微服務的思想。對于互聯(lián)網(wǎng)金融企業(yè)而言,可以適當引入部分微服務架構(gòu)原則,對原有系統(tǒng)進行更新升級,然后再逐步引用微服務架構(gòu),累積實踐經(jīng)驗,為全方位引用微服務架構(gòu)奠定實踐基礎(chǔ)。