互联网技术架构的启示
互聯(lián)網(wǎng)技術架構的啟示
????????最近,“金融電子化”的微信(fcmag1993)中發(fā)表了中國建設銀行信息技術管理部副總經(jīng)理王申科撰寫的一篇精彩文章“互聯(lián)網(wǎng)技術架構給我們的啟示”,他從商業(yè)銀行IT從業(yè)人員的角度,總結和分析了阿里、谷歌等互聯(lián)網(wǎng)企業(yè)的技術路線、架構和管理,從基本計算機理論與模型、互聯(lián)網(wǎng)應用的技術基礎、商業(yè)銀行應用系統(tǒng)的技術基礎、對銀行業(yè)的啟示等幾個方面做了深入的討論。
在“基本計算機理論與模型”一節(jié)中,王申科提到了分布式系統(tǒng)、CAP理論(一致性、可用性、分區(qū)容忍性)、ACID模型(原子性、一致性、隔離性、持久性)和SOA面向服務架構等,其中分析了有別于ACID的BASE模型:
BASE則是另外一個理念和思路,Basically Available為基本可用,Soft-state為軟狀態(tài)/柔性事務,EventualConsistency 為最終一致性。BASE模型完全不同于ACID模型。犧牲高一致性,獲得可用性。對一個“基本可用”系統(tǒng)來說,需要把系統(tǒng)中的所有功能點進行優(yōu)先級的劃分,對于系統(tǒng)內(nèi)部的狀態(tài),采用一種柔性的策略,假如系統(tǒng)內(nèi)分布了3個功能模塊,允許它們在某一時刻3個模塊的狀態(tài)可以不一致。然后通過業(yè)務和技術的手段,例如采用異步機制或者批處理方式,來保證系統(tǒng)通過柔性狀態(tài)一致來獲得可用性。當前互聯(lián)網(wǎng)應用在業(yè)務允許范圍里普遍參考BASE 模型來進行系統(tǒng)設計。
對于分布式系統(tǒng),他以Google為例:
Google在構建搜索系統(tǒng)時,第一次將分布式系統(tǒng)和互聯(lián)網(wǎng)結合起來,用分布式系統(tǒng)來解決互聯(lián)網(wǎng)問題。Google的分布式系統(tǒng)設計有幾個重要的特征:視失敗為常態(tài);重視橫向伸縮性;預測性能,追求低延遲,廉價的硬件和軟件,推崇重用,靈活設計,加入足夠的監(jiān)測點和調(diào)試功能來幫助日后的調(diào)試,優(yōu)先虛擬計算。 Google的這些設計思想,成為互聯(lián)網(wǎng)應用開發(fā)事實上的標準和規(guī)范。
對于“互聯(lián)網(wǎng)應用的技術基礎”,王申科總結了幾個方面:
- 基于x86服務器集群和開源軟件搭建技術設施,分布式架構+開源軟件是其基本特征。
- 積極進取的創(chuàng)新精神。以阿里巴巴為例,短短幾年先后自主開發(fā)了許多技術產(chǎn)品。
- 基于場景的需求分析和應用開發(fā)。
- 平臺化建設理念,提高開發(fā)效率和系統(tǒng)質(zhì)量。
- 自動化部署和運維體系。
- 成本控制意識和自主掌控能力。
其中的”基于場景的需求分析和應用開發(fā)”,他分析了阿里巴巴的開發(fā)原則:
SOA服務化,所有系統(tǒng)采取服務化模式,系統(tǒng)之間進行必要的分拆和隔離,通過服務調(diào)用和消息通知的方式進行協(xié)同;BASE和ACID相結合,能夠采取BASE模式的業(yè)務一定是異步方式,而核心的賬務信息一定是采取實時方式,保證ACID;無單點設計、可監(jiān)控、可測試、可回滾、可禁用、短事務與柔性事務、異步設計、無狀態(tài)、使用成熟技術、業(yè)務分等級、業(yè)務可降級、多數(shù)據(jù)中心部署。
對于“自動化部署和運維體系”,王申科總結了阿里巴巴的經(jīng)驗:
開發(fā)了一套資產(chǎn)信息采集程序和采集流程,將服務器、網(wǎng)絡設備、存貯等資產(chǎn)信息,采集到數(shù)據(jù)庫中。應用系統(tǒng)不再關心具體的資源信息,無論資產(chǎn)還是資源都是處于動態(tài)的變化中。通過資產(chǎn)信息和資源的變更流程,資產(chǎn)信息,硬件信息和應用信息的任何變更,必須通過系統(tǒng)進行變更記錄,詳細記錄每個設備的生命周期里的各種變化。變更流程和工作流系統(tǒng)對接,通過工作流系統(tǒng)進行分級審批之后,才能進行相應的變更。以自動化采集為核心的資產(chǎn)管理體系,主動監(jiān)控確保資源池一致性,保證資產(chǎn)信息的準確性。對資源進行回收和重新分配的時候,先要確保資源的狀態(tài)。對于資源的數(shù)據(jù),必須采取主動監(jiān)控的做法,確保數(shù)據(jù)的可靠性,其具體做法是每天對設備的信息進行重新抓取,并與數(shù)據(jù)庫里的狀態(tài)進行匹配,發(fā)現(xiàn)不一致的數(shù)據(jù),報警并鎖定資源,不允許對資源進行任何操作。通過這種自動化的方式,杜絕人為錯誤,確保資產(chǎn)數(shù)據(jù)和資源池信息的數(shù)據(jù)一致性,是資源池可信的重要保證。
在“商業(yè)銀行應用系統(tǒng)的技術基礎”方面,他分析了以下方面:
- 通用信息技術和商業(yè)化軟件是基礎,集中式系統(tǒng)部署。
- 面臨完全依賴供應商的被動局面。
- 交易系統(tǒng)突出資金安全和核算的準確性,數(shù)據(jù)一致性要求高,客戶體驗差。
其中對于第2點,王申科認為:
商業(yè)銀行在信息技術支持和保障能力、技術進步和創(chuàng)新能力、技術采購議價能力、設備升級周期和擴容、成本控制等方面,很大程度上依賴信息技術供應商。從歷史看,商業(yè)銀行應用系統(tǒng)大多采用三層架構:服務層、應用層和數(shù)據(jù)層,最近幾年逐步加入ESB層。每層采用雙機或集群技術支撐業(yè)務應用。早期以縱向(scale-up)升級擴容為主,現(xiàn)在逐步采用橫向(scale-out)擴容方式或虛擬化方式。這種歷史發(fā)展過程中形成的架構和技術路線,很難適應發(fā)展迅速的互聯(lián)網(wǎng)時代應用需求。
在“對銀行業(yè)的啟示方面”,王申科總結了以下幾個方面:
- 用互聯(lián)網(wǎng)的思維,認真思考和規(guī)劃商業(yè)銀行的信息化建設工作。
- 引入分布式架構和開源軟件,構建集中式和分布式共存的架構體系。
- 突出核心能力,理性看待“去IOE”。
- 從設備供應商向服務供應商轉型。
- 積極主動與互聯(lián)網(wǎng)公司開展合作。
他認為:從應對市場的整體效果看,互聯(lián)網(wǎng)分布式架構明顯優(yōu)于商業(yè)銀行傳統(tǒng)集中式架構,核心差別在于兩類不同的應用架構理念,以及兩類不同的技術團隊管理、支持方式。因此,從應用入手,著手調(diào)整商業(yè)銀行傳統(tǒng)的技術架構和供應商管理方式,制定商業(yè)銀行的技術架構設計規(guī)范和部署策略,實現(xiàn)架構的科學管理。僅從技術角度看,“去IOE”的實質(zhì)是分布式架構和集中式架構、開源軟件和商用軟件的選擇問題,各自的利弊見仁見智。商業(yè)銀行IT從業(yè)人員的核心競爭力主要體現(xiàn)在對銀行業(yè)務理解,以及對信息技術的熟練應用和應用架構設計能力,用信息化支持、推動和引領業(yè)務創(chuàng)新。
對互聯(lián)網(wǎng)架構領域感興趣的讀者可以關注即將于2014年4月25~27日在北京國際會議中心召開的QCon北京2014大會,專題包括知名網(wǎng)站案例分析、擴展性、可用性與高性能、云計算服務探秘、大數(shù)據(jù)處理與大數(shù)據(jù)應用等,許多講座都與架構相關。讀者可點擊大會主頁查看詳情。
高危漏洞頻發(fā),隱私泄露,普通開發(fā)者該如何避免和防范;開發(fā)者如何從邏輯上避免風險?在【QCon北京2015】“新時代的安全”專題中,在Pwn2Own 2015上奪冠的Keen Team安全研究員Peter Hlavaty將解讀內(nèi)核安全精髓;阿里巴巴安全專家祝建躍將分享互聯(lián)網(wǎng)全球最大DDoS攻擊防御實戰(zhàn)。查看詳情。總結
以上是生活随笔為你收集整理的互联网技术架构的启示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2014年应该学习的十种编程语言
- 下一篇: 多核学习在图像分类中的应用