金融級IT架構(gòu):數(shù)字銀行的云原生架構(gòu)解密
鏈接:pan.baidu.com/s/1SsLMMwsKkoBlohctZGNW7g?pwd=rhig?
提取碼:rhig

第1章金融級架構(gòu)面臨的挑戰(zhàn)
1.1 容災(zāi)
1.1.1 數(shù)據(jù)容災(zāi)
1.1.2 應(yīng)用容災(zāi)
1.1.3 業(yè)務(wù)容災(zāi)
1.1.4 部署結(jié)構(gòu)
1.2 容量
1.2.1 應(yīng)用可伸縮
1.2.2 數(shù)據(jù)可伸縮
1.2.3 數(shù)據(jù)中心可伸縮
1.3 成本
1.4 安全架構(gòu)挑戰(zhàn)
1.5 研發(fā)運維效率
1.6 技術(shù)風(fēng)險防控
1.7 應(yīng)對思路
1.7.1 微服務(wù)
1.7.2 “異地多活”單元化
1.7.3 彈性架構(gòu)
1.7.4 云計算
1.7.5 云原生
1.7.6 安全架構(gòu)
1.7.7 技術(shù)風(fēng)險防控
第2章云基礎(chǔ)設(shè)施架構(gòu)
2.1 金融基礎(chǔ)設(shè)施的機遇和挑戰(zhàn)
2.1.1 金融基礎(chǔ)設(shè)施的窘境
2.1.2 云計算助力數(shù)字金融
2.2 云產(chǎn)品選型
2.2.1 云服務(wù)器
2.2.2 云存儲
2.2.3 總結(jié)
2.3 云網(wǎng)絡(luò)規(guī)劃
2.3.1 網(wǎng)絡(luò)拓撲整體設(shè)計
2.3.2 專有網(wǎng)絡(luò)VPC
2.3.3 IP地址規(guī)劃
2.3.4 總結(jié)
2.4 云產(chǎn)品架構(gòu)
2.4.1 整體架構(gòu)
2.4.2 高可用架構(gòu)
2.4.3 SWIFT架構(gòu)
2.4.4 總結(jié)
2.5 云資源規(guī)劃
2.5.1 建設(shè)階段
2.5.2 運營階段
2.5.3 總結(jié)
第3章存儲架構(gòu)
3.1 數(shù)據(jù)庫部署架構(gòu)
3.1.1 分布式數(shù)據(jù)庫
3.1.2 “異地多活”之“三地五中心”
3.1.3 數(shù)據(jù)訪問路由策略
3.1.4 多集群部署
3.1.5 容器化部署
3.2 數(shù)據(jù)庫邏輯架構(gòu)
3.2.1 分庫分表
3.2.2 數(shù)據(jù)源高可用
3.2.3 歷史庫
3.3 緩存架構(gòu)
3.4 存儲鏈路分析
3.5 架構(gòu)演進
3.6 數(shù)據(jù)安全
3.6.1 備份恢復(fù)
3.6.2 存儲加密
第4章云單元架構(gòu)
4.1 為什么需要云單元
4.1.1 從集中式架構(gòu)到分布式架構(gòu)
4.1.2 分布式系統(tǒng)架構(gòu)演進
4.1.3 微服務(wù)架構(gòu)下的容災(zāi)和容量問題
4.1.4 云單元架構(gòu)的誕生
4.2 云單元架構(gòu)總覽
4.3 架構(gòu)目標(biāo)
4.3.1 跨地域彈性部署
4.3.2 全業(yè)務(wù)“多地多活”
4.3.3 一體化研發(fā)運維
4.3.4 海量交易處理能力
4.4 云單元架構(gòu)的特征
4.4.1 架構(gòu)特征
4.4.2 邏輯架構(gòu)
4.5 單元化改造主要思想
4.5.1 分而治之
4.5.2 D-I-D原則
4.5.3 十三條原則
4.6 單元化流量路由
4.6.1 路由規(guī)則設(shè)計
4.6.2 HTTP流量路由
4.6.3 RPC流量路由
4.6.4 消息流量路由
4.6.5 調(diào)度流量路由
4.6.6 數(shù)據(jù)流量路由
4.7 應(yīng)用與數(shù)據(jù)單元化
4.7.1 分布式應(yīng)用
4.7.2 分布式數(shù)據(jù)
4.8 分布式中間件
4.8.1 基礎(chǔ)開發(fā)框架
4.8.2 微服務(wù)平臺
4.8.3 分布式數(shù)據(jù)訪問代理
4.8.4 分布式可靠事務(wù)服務(wù)
4.8.5 分布式消息隊列
4.8.6 分布式全鏈路跟蹤
4.9 業(yè)務(wù)單元化實踐案例
4.9.1 靈活多變的路由決策機制實現(xiàn)
4.9.2 如何優(yōu)雅地過渡到單元化架構(gòu)
4.9.3 如何實現(xiàn)跨地域單元數(shù)據(jù)一致性
4.10 總結(jié)與展望
第5章混合云彈性架構(gòu)
5.1 彈出
5.1.1 無狀態(tài)彈出
5.1.2 有狀態(tài)彈出
5.2 彈回
第6章云原生架構(gòu)
6.1 架構(gòu)概覽
6.2 容器技術(shù)
6.2.1 不可變基礎(chǔ)設(shè)施
6.2.2 容器化實踐過程
6.2.3 集群混部應(yīng)用
6.3 服務(wù)網(wǎng)格
6.3.1 MOSN
6.3.2 DBMesh
6.4 Serverless
6.4.1 Ark Serverless
6.4.2 模塊化開發(fā)
6.4.3 任務(wù)托管
6.5 云原生研發(fā)流程
6.5.1 云原生DevOps
6.5.2 關(guān)于配置化的研發(fā)效率
6.6 可信云原生
6.6.1 安全可信架構(gòu)
6.6.2 安全容器
6.6.3 服務(wù)鑒權(quán)
6.6.4 鏈路加密
6.6.5 數(shù)據(jù)訪問鑒權(quán)
6.7 云原生運維
6.7.1 容器集群運維
6.7.2 Mesh運維
6.7.3 Sidecar運維
6.7.4 Mesh的技術(shù)風(fēng)險防控
6.7.5 發(fā)布和運維平臺統(tǒng)一
6.8 云原生實戰(zhàn)場景
6.8.1 混部技術(shù)應(yīng)用
6.8.2 應(yīng)用鏡像化發(fā)布
6.8.3 服務(wù)網(wǎng)格技術(shù)應(yīng)用
6.8.4 Serverless技術(shù)應(yīng)用
6.8.5 安全可信技術(shù)應(yīng)用
第7章技術(shù)風(fēng)險防控架構(gòu)
7.1 多級業(yè)務(wù)分區(qū)發(fā)布
7.2 全站自動化變更防控
7.3 資金安全
7.3.1 資金安全簡介
7.3.2 資金安全防線
7.3.3 資金安全防線運營
7.3.4 小結(jié)
7.4 全鏈路壓測
7.4.1 壓測鏈路與仿真
7.4.2 容量規(guī)劃
7.4.3 壓測風(fēng)險識別
7.4.4 壓測風(fēng)險管理
7.4.5 壓測實戰(zhàn)
7.4.6 自動化壓測
7.4.7 云原生全鏈路壓測
7.5 大促技術(shù)保障
7.5.1 大促活動保障臺
7.5.2 自動化預(yù)案
7.5.3 限流熔斷
第8章業(yè)務(wù)架構(gòu)
8.1 數(shù)字化轉(zhuǎn)型下的銀行業(yè)務(wù)架構(gòu)
8.1.1 數(shù)字化銀行設(shè)立初衷
8.1.2 數(shù)字化銀行頂層設(shè)計
8.1.3 數(shù)字化銀行落地過程
8.1.4 數(shù)字化銀行效果呈現(xiàn)
8.2 中臺戰(zhàn)略
8.2.1 中臺戰(zhàn)略概述
8.2.2 業(yè)務(wù)中臺
8.2.3 數(shù)據(jù)中臺
8.3 大數(shù)據(jù)與人工智能
8.3.1 數(shù)據(jù)化風(fēng)控
8.3.2 智能流動性管理
8.3.3 智能化運營
8.4 金融開放
8.4.1 金融場景開放
8.4.2 金融機構(gòu)協(xié)作
第9章安全可信架構(gòu) P369
9.1 安全架構(gòu)概述
9.2 默認安全機制
9.2.1 問題背景
9.2.2 解決思路
9.2.3 實踐落地
9.3 可信縱深防御
9.3.1 問題背景
9.3.2 解決思路
9.3.3 實踐落地
9.4 威脅感知與響應(yīng)
9.5 實戰(zhàn)演練檢驗
9.5.1 目標(biāo)設(shè)定
9.5.2 紅隊攻擊規(guī)劃
9.5.3 實施演練
9.5.4 實戰(zhàn)演練規(guī)范
9.5.5 復(fù)盤
9.6 數(shù)字化與智能化
第10章未來展望 P403
附錄A 本書插圖索引 P406
查看全部↓
精彩書摘
4.8.1 基礎(chǔ)開發(fā)框架
基礎(chǔ)開發(fā)框架是一套用于分布式架構(gòu)應(yīng)用系統(tǒng)的快速、敏捷研發(fā)框架,擁有一整套全面的技術(shù)棧,能自動解決依賴下載、應(yīng)用部署、健康檢查、運維監(jiān)控等研發(fā)效率相關(guān)問題。研發(fā)人員使用該基礎(chǔ)開發(fā)框架,可將精力集中在業(yè)務(wù)代碼編寫上?;A(chǔ)開發(fā)框架還能實現(xiàn)對其他常用中間件的集成管理,通過獨立可插拔的集成方式,對集成的中間件提供統(tǒng)一易用的編程接口,節(jié)約了開發(fā)時間,降低了后期維護成本。
開發(fā)框架在某種程度上也可以稱為應(yīng)用框架,或者一定程度上可以看作應(yīng)用容器,當(dāng)然這不一定完全正確。然而應(yīng)用框架和應(yīng)用容器總是成對出現(xiàn)的,比如早期的EJB(Enterprise Java Beans,企業(yè)Java Beans)技術(shù),EJB可以看作開發(fā)框架,但是需要運行在對應(yīng)的EJB容器之上,例如Jboss、WebLogic、WebSphere等。由于EJB技術(shù)的臃腫,后面出現(xiàn)了像Spring、Guice這樣的優(yōu)秀的輕量級應(yīng)用框架,配套的也不再是重量級的EJB容器,而是像Tomcat、Jetty這樣的輕量級Servlet容器。
從EJB到Spring、Guice的演進帶來的是業(yè)務(wù)研發(fā)效率的極大提升,然而隨著互聯(lián)網(wǎng)的快速發(fā)展,業(yè)務(wù)的復(fù)雜度與日俱增,原本單一的應(yīng)用架構(gòu)開始向分布式架構(gòu)演進,分布式架構(gòu)轉(zhuǎn)型過程中業(yè)務(wù)系統(tǒng)無可避免地需要去集成眾多的分布式中間件,以達到分布式架構(gòu)改造的目的。然而中間件的接入是存在一定復(fù)雜度和理解成本的,這會對研發(fā)效率造成一定的負面影響,原本提供單一IOC(Inversion of Control,控制反轉(zhuǎn))、AOP(Aspect Oriented Programming,面向切面編程)、MVC(Model View Controller,模型-視圖-控制器)功能的Spring無法繼續(xù)滿足業(yè)務(wù)需求。面對挑戰(zhàn),Spring框架也在快速發(fā)展。近些年來產(chǎn)生的SpringBoot面對當(dāng)前場景給出了不錯的解決方案。與原先的Spring相比,SpringBoot省略了之前大量煩瑣的XML配置,自動裝配機制可以快速集成原本需要大量配置才可以支持的能力,而SpringBoot Starter的出現(xiàn)進一步擴展了這種自動化裝配能力,大量的第三方中間件組件、框架以Starter形式提供相關(guān)能力支持,業(yè)務(wù)如果需要引入每個中間件產(chǎn)品對應(yīng)的能力,只需要依賴對應(yīng)產(chǎn)品的Starter即可,再也不需要繁雜的配置以及理解成本,而且可以形成統(tǒng)一的接入規(guī)范,可以對公司技術(shù)體系的演進和發(fā)展起到很好的促進作用。
那么一個優(yōu)秀的應(yīng)用框架到底是什么樣的呢?這里提出一個說法——“技術(shù)價值觀”,可以理解為,一個企業(yè)是否采納某種技術(shù)的評判標(biāo)準(zhǔn),技術(shù)價值觀一定程度上左右了這家公司的技術(shù)發(fā)展和演進方向。和其他價值觀不同,大部分企業(yè)的技術(shù)價值觀都是一致或相似的,或者說有一個大家公認的標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)其實可以理解為每種技術(shù)在業(yè)界的主流發(fā)展和演進方向,比如SpringBoot、Kubernetes,它們代表了應(yīng)用框架和調(diào)度的主流技術(shù)價值觀。網(wǎng)商銀行內(nèi)部的應(yīng)用框架同樣也遵從這個主流的技術(shù)價值觀,而且在這之上還有著大量的技術(shù)實踐和創(chuàng)新。內(nèi)部大量使用的開發(fā)框架一共有兩個,一個是構(gòu)建在OSGi(Open Service Gateway Initiative,開放服務(wù)網(wǎng)關(guān)協(xié)議)容器之上的框架技術(shù),內(nèi)部稱之為SOFA 4,對應(yīng)的運行容器內(nèi)部稱之為CloudEngine,另外一個開發(fā)框架稱為SOFABoot,SOFABoot構(gòu)建在SpringBoot之上,是對SpringBoot的有效擴展和優(yōu)化,同時也是內(nèi)部特定需求下的產(chǎn)物。這里重點介紹一下SOFABoot,因為流行的SpringBoot框架更為大家所熟知。
就像前面提到的,SpringBoot的自動裝配機制和Starter擴展機制已經(jīng)給研發(fā)效率帶來了極大的提升,那為什么還要創(chuàng)造一個SOFABoot框架?它又有哪些優(yōu)勢?其實這里并沒有從頭創(chuàng)造一個全新的框架,本質(zhì)上SOFABoot就是SpringBoot,但是進行了相關(guān)功能的豐富和擴展,這主要涉及以下幾方面。
1. 類隔離的支持
類沖突無疑是Java開發(fā)者“最大的痛”,有過幾年經(jīng)驗的Java開發(fā)人員應(yīng)該都有較為豐富的類沖突解決經(jīng)驗,規(guī)范的第二方、第三方依賴可以通過releaseNote進行版本升級,而某些管理不善的依賴只能靠版本試錯,或者逐個反編譯精確查找版本。更有某些場景中的間接依賴和直接依賴產(chǎn)生了版本沖突,解決這種沖突往往需要耗費大量時間,甚至在某些場景中不得不去推動相關(guān)依賴方進行升級才能解決,嚴重阻礙了業(yè)務(wù)的迭代效率。而SOFABoot自身集成了強大的、輕量級的類隔離框架可以完美解決這類問題,通過簡單的配置即可完成對沖突類的隔離,讓你可以專注于業(yè)務(wù)代碼的開發(fā)。
2. 多模塊隔離
大型項目的開發(fā)需要有良好的模塊劃分方案,然而傳統(tǒng)的模塊劃分均是以人為規(guī)約的形式進行的,而這在實際運行時是很難有約束力的。事實說明,在一個項目迭代的過程中很難長期遵守開發(fā)規(guī)約,因為一個長久的項目往往會經(jīng)歷多個研發(fā)人員,每個人對研發(fā)規(guī)約的理解又是存在差異的,久而久之,邏輯的模塊劃分將無法起到很好的作用。說到模塊隔離,大家可能會想到OSGi,但是OSGi本身比較復(fù)雜,并不能為大部分互聯(lián)網(wǎng)公司所接受,而SOFABoot提供了一種輕量級的模塊隔離方案,每個模塊都是單獨的Spring上下文,每個模塊可以暴露哪些服務(wù)能按照規(guī)范進行配置,未暴露的服務(wù)其他模塊是無法進行調(diào)用的,而且獨立的Spring上下文設(shè)計給后續(xù)服務(wù)拆分提供了極大的便利,當(dāng)前的一個模塊只需要少量的調(diào)整就可以作為一個單獨的項目進行開發(fā)部署。想一想如果是以邏輯模塊的方式進行劃分,項目拆分會多么困難和復(fù)雜,因為內(nèi)部服務(wù)也可能被多個其他模塊所依賴,光拆分前的梳理和改造就要花費大量的時間,成本無法估計。
3. 部分功能擴展
這里主要說兩點,一是SOFABoot提供了Readiness檢查能力,SpringBoot提供的HealthCheck只能反映當(dāng)前系統(tǒng)是否被監(jiān)控,但是無法反映是否已經(jīng)做好了可以接受請求的準(zhǔn)備。這一點其實是很重要的,比如應(yīng)用的平滑上下線就比較依賴這個功能,如果在應(yīng)用還沒達到可以接收請求的狀態(tài)之前就把請求發(fā)過去,就會引起應(yīng)用請求的報錯,而對于一個擁有大量容器的應(yīng)用而言,為了提升發(fā)布速度,單個發(fā)布批次會包含較多的容器,如果這里處理不好,就會引起服務(wù)調(diào)用方的抖動,甚至對業(yè)務(wù)造成影響。
二是支持了日志空間隔離,依賴日志空間隔離可以方便有效地對日志進行隔離管理,比如網(wǎng)商銀行內(nèi)部的中間件系統(tǒng)通過接入日志隔離把每個產(chǎn)品的日志都單獨輸出到指定的目錄,有效防止了日志的相互污染,對問題排查和監(jiān)控指標(biāo)的接入都提供了極大的便利。
除了上面提到的兩方面,SOFABoot為了支持內(nèi)部的某些特殊場景,還增加了很多不錯的功能,這里不再一一贅述。除了SOFABoot這樣優(yōu)秀的應(yīng)用框架,開發(fā)框架還包含了很多高效的支持工具。比如擁有完善的IDEA研發(fā)插件,利用該插件可以快速生成各類型項目代碼,安全快速地進行相關(guān)組件的升級,快速進行應(yīng)用代碼部署和自動化測試等。統(tǒng)一的技術(shù)棧維護了應(yīng)用的基礎(chǔ)軟件依賴,讓我們可以方便快捷地進行統(tǒng)一的版本升級和安全問題修復(fù)。
最后再回到SOFABoot框架本身,SOFABoot為應(yīng)用集成內(nèi)部的中間件能力提供了極大的便利,通過制定一套標(biāo)準(zhǔn)的注解和XML XSD規(guī)范,應(yīng)用只需要使用標(biāo)準(zhǔn)的注解或者XML元素進行配置,即可集成相關(guān)產(chǎn)品能力,整個過程完全屏蔽了分布式和單元化架構(gòu)的復(fù)雜度,讓研發(fā)人員更加專注于業(yè)務(wù)邏輯,而不用關(guān)注底層框架的復(fù)雜性。所以說開發(fā)框架并不僅僅是應(yīng)用框架和應(yīng)用容器,也不僅僅是某一種技術(shù),而是一整套用于提升業(yè)務(wù)研發(fā)效率的工具,是一個完整的研發(fā)生態(tài)圈。
查看全部↓
前言/序言
當(dāng)前,伴隨著移動互聯(lián)網(wǎng)的不斷發(fā)展、智能設(shè)備的不斷普及,人類社會正在加速邁入以開放、共享、協(xié)作、智能為特征的數(shù)字化時代,以云計算、大數(shù)據(jù)、人工智能、區(qū)塊鏈、物聯(lián)網(wǎng)、5G、虛擬現(xiàn)實等為代表的新一代信息技術(shù)蓬勃發(fā)展,正以前所未有的速度和力量,改變著人類社會的生產(chǎn)方式和人們的生活方式,推動著商業(yè)模式與技術(shù)的深度融合,科技作為第一生產(chǎn)力得到了進一步強化和發(fā)展,推動著全球社會形態(tài)、生產(chǎn)關(guān)系、經(jīng)濟格局和競爭態(tài)勢發(fā)生深層次的變革。
金融級IT架構(gòu):數(shù)字銀行的云原生架構(gòu)解密的評論 (共 條)
