互聯網技術架構的啟示

jopen 10年前發布 | 20K 次閱讀 互聯網

最近,“金融電子化”的微信(fcmag1993)中發表了中國建設銀行信息技術管理部副總經理王申科撰寫的一篇精彩文章“互聯網技術架構給我們的 啟示”,他從商業銀行IT從業人員的角度,總結和分析了阿里、谷歌等互聯網企業的技術路線、架構和管理,從基本計算機理論與模型、互聯網應用的技術基礎、 商業銀行應用系統的技術基礎、對銀行業的啟示等幾個方面做了深入的討論。

在“基本計算機理論與模型”一節中,王申科提到了分布式系統、CAP理論(一致性、可用性、分區容忍性)、ACID模型(原子性、一致性、隔離性、持久性)和SOA面向服務架構等,其中分析了有別于ACID的BASE模型:

BASE則是另外一個理念和思路,Basically Available為基本可用,Soft-state為軟狀態/柔性事務,EventualConsistency 為最終一致性。BASE模型完全不同于ACID模型。犧牲高一致性,獲得可用性。對一個“基本可用”系統來說,需要把系統中的所有功能點進行優先級的劃 分,對于系統內部的狀態,采用一種柔性的策略,假如系統內分布了3個功能模塊,允許它們在某一時刻3個模塊的狀態可以不一致。然后通過業務和技術的手段, 例如采用異步機制或者批處理方式,來保證系統通過柔性狀態一致來獲得可用性。當前互聯網應用在業務允許范圍里普遍參考BASE 模型來進行系統設計。

對于分布式系統,他以Google為例:

Google在構建搜索系統時,第一次將分布式系統和互聯網結合起來,用分布式系統來解決互聯網問題。Google的分布式系統設計有幾個重要的特 征:視失敗為常態;重視橫向伸縮性;預測性能,追求低延遲,廉價的硬件和軟件,推崇重用,靈活設計,加入足夠的監測點和調試功能來幫助日后的調試,優先虛 擬計算。 Google的這些設計思想,成為互聯網應用開發事實上的標準和規范。

對于“互聯網應用的技術基礎”,王申科總結了幾個方面:

  • 基于x86服務器集群和開源軟件搭建技術設施,分布式架構+開源軟件是其基本特征。
  • 積極進取的創新精神。以阿里巴巴為例,短短幾年先后自主開發了許多技術產品。
  • 基于場景的需求分析和應用開發。
  • 平臺化建設理念,提高開發效率和系統質量。
  • 自動化部署和運維體系。
  • 成本控制意識和自主掌控能力。

其中的”基于場景的需求分析和應用開發”,他分析了阿里巴巴的開發原則:

SOA服務化,所有系統采取服務化模式,系統之間進行必要的分拆和隔離,通過服務調用和消息通知的方式進行協同;BASE和ACID相結合,能夠采 取BASE模式的業務一定是異步方式,而核心的賬務信息一定是采取實時方式,保證ACID;無單點設計、可監控、可測試、可回滾、可禁用、短事務與柔性事 務、異步設計、無狀態、使用成熟技術、業務分等級、業務可降級、多數據中心部署。

對于“自動化部署和運維體系”,王申科總結了阿里巴巴的經驗:

開發了一套資產信息采集程序和采集流程,將服務器、網絡設備、存貯等資產信息,采集到數據庫中。應用系統不再關心具體的資源信息,無論資產還是資源 都是處于動態的變化中。通過資產信息和資源的變更流程,資產信息,硬件信息和應用信息的任何變更,必須通過系統進行變更記錄,詳細記錄每個設備的生命周期 里的各種變化。變更流程和工作流系統對接,通過工作流系統進行分級審批之后,才能進行相應的變更。以自動化采集為核心的資產管理體系,主動監控確保資源池 一致性,保證資產信息的準確性。對資源進行回收和重新分配的時候,先要確保資源的狀態。對于資源的數據,必須采取主動監控的做法,確保數據的可靠性,其具 體做法是每天對設備的信息進行重新抓取,并與數據庫里的狀態進行匹配,發現不一致的數據,報警并鎖定資源,不允許對資源進行任何操作。通過這種自動化的方 式,杜絕人為錯誤,確保資產數據和資源池信息的數據一致性,是資源池可信的重要保證。

在“商業銀行應用系統的技術基礎”方面,他分析了以下方面:

  • 通用信息技術和商業化軟件是基礎,集中式系統部署。
  • 面臨完全依賴供應商的被動局面。
  • 交易系統突出資金安全和核算的準確性,數據一致性要求高,客戶體驗差。

其中對于第2點,王申科認為:

商業銀行在信息技術支持和保障能力、技術進步和創新能力、技術采購議價能力、設備升級周期和擴容、成本控制等方面,很大程度上依賴信息技術供應商。 從歷史看,商業銀行應用系統大多采用三層架構:服務層、應用層和數據層,最近幾年逐步加入ESB層。每層采用雙機或集群技術支撐業務應用。早期以縱向 (scale-up)升級擴容為主,現在逐步采用橫向(scale-out)擴容方式或虛擬化方式。這種歷史發展過程中形成的架構和技術路線,很難適應發 展迅速的互聯網時代應用需求。

在“對銀行業的啟示方面”,王申科總結了以下幾個方面:

  • 用互聯網的思維,認真思考和規劃商業銀行的信息化建設工作。
  • 引入分布式架構和開源軟件,構建集中式和分布式共存的架構體系。
  • 突出核心能力,理性看待“去IOE”。
  • 從設備供應商向服務供應商轉型。
  • 積極主動與互聯網公司開展合作。

他認為:從應對市場的整體效果看,互聯網分布式架構明顯優于商業銀行傳統集中式架構,核心差別在于兩類不同的應用架構理念,以及兩類不同的技術團隊 管理、支持方式。因此,從應用入手,著手調整商業銀行傳統的技術架構和供應商管理方式,制定商業銀行的技術架構設計規范和部署策略,實現架構的科學管理。 僅從技術角度看,“去IOE”的實質是分布式架構和集中式架構、開源軟件和商用軟件的選擇問題,各自的利弊見仁見智。商業銀行IT從業人員的核心競爭力主 要體現在對銀行業務理解,以及對信息技術的熟練應用和應用架構設計能力,用信息化支持、推動和引領業務創新。

來自:http://www.infoq.com/cn/news/2014/02/internet-architecture

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!