微服務中台架構開發
內容描述
本書圍繞真實業務場景,系統完整地介紹了微服務中台架構在企業成功落地的全過程。
它從企業遇到的IT架構痛點出發,覆蓋了IT架構模式選型、技術方案設計、團隊管理和項目實施過程中的每一步,
並且介紹瞭如何基於阿裡雲PaaS平臺,構建低風險、高可用、易擴展、好維護的業務中台。
本書可以幫助對企業IT架構感興趣的中高級軟件工程師、架構師、產品經理、項目經理,
深刻認識和理解業務中台,從而結合企業實際,快速搭建適合自身的業務中台架構。
目錄大綱
目錄
第 1章 企業數字化轉型 01
1.1 傳統企業IT架構 02
1.1.1 IT架構解讀 03
1.1.2 存在的問題 03
1.2 新技術新思路 05
1.2.1 計算資源雲化 06
1.2.2 服務在線化 09
第 2章 業務中台架構 11
2.1 架構演進之路 11
2.1.1 單體應用 11
2.1.2 數據與應用分離 12
2.1.3 應用服務器集群 12
2.1.4 緩存服務器 13
2.1.5 數據庫讀寫分離 14
2.1.6 分庫分表 15
2.1.7 微服務化 16
2.1.8 服務中台化 17
2.2 阿裡中台架構 19
2.2.1 中台的雛形 19
2.2.2 中台架構由來 21
2.2.3 中台架構本質 23
2.3 業務中台實施過程 24
2.3.1 選擇業務領域 25
2.3.2 規劃方案和分析需求 26
2.3.3 設計架構和業務中心 29
2.3.4 開發上線 33
2.3.5 持續迭代 35
2.4 企業IT整體架構 36
2.4.1 基礎資源IaaS層 37
2.4.2 技術平臺PaaS層 38
2.4.3 業務中心SaaS層 39
2.4.4 業務應用SaaS層 40
2.4.5 交互渠道層 40
2.5 企業IT架構 41
2.5.1 基礎服務 41
2.5.2 應用服務 42
2.6 微服務 42
2.6.1 ESB 42
2.6.2 微服務架構 45
2.6.3 分佈式服務框架HSF 49
第3章 端到端敏捷實施 52
3.1 傳統瀑布模式 52
3.1.1 模型圖 53
3.1.2 存在的問題 53
3.2 敏捷迭代模式 54
3.2.1 敏捷的概念 55
3.2.2 敏捷運行模式Scrum 55
3.2.3 確定迭代周期 56
3.2.4 Sprint計劃會議 57
3.2.5 代碼開發 57
3.2.6 每日站會 58
3.2.7 評審會議 59
3.2.8 回顧會議 59
3.3 高效研發團隊 59
3.3.1 自主設計、研發外包 60
3.3.2 研發團隊結構 61
3.4 雲效項目管理 62
3.4.1 雲效的功能 62
3.4.2 創建雲效用戶 63
3.4.3 創建企業 64
3.4.4 創建項目 66
3.4.5 添加項目成員 68
3.4.6 啟用敏捷模式 68
3.4.7 需求任務管理 69
3.4.8 迭代管理 70
3.4.9 缺陷管理 71
3.4.10 其他功能 72
第4章 業務中台設計 75
4.1 開發模式確定 75
4.1.1 MVVM前端架構 75
4.1.2 開發流程 76
4.2 業務需求說明 77
4.2.1 原型設計 77
4.2.2 原型評審 78
4.2.3 實現效果 78
4.2.4 需求確認 79
4.3 業務設計 79
4.3.1 業務流程梳理 80
4.3.2 數據模型設計 81
4.3.3 能力目錄設計 82
4.3.4 應用接口設計 85
4.4 環境準備 85
4.4.1 JDK本地安裝 85
4.4.2 Maven本地安裝 86
4.4.3 阿裡雲私服配置 88
4.4.4 阿裡雲Git托管配置 91
4.4.5 IDEA本地安裝 100
4.4.6 輕量級配置及註冊中心安裝 102
4.4.7 安裝Node.js 103
4.4.8 安裝Vue 105
4.4.9 安裝VS Code 105
4.4.10 新增開發人員 107
第5章 中台代碼實現 109
5.1 公共項目依賴 109
5.1.1 創建項目ipss-common 109
5.1.2 請求基礎分頁參數類 111
5.1.3 返回分頁對象封裝類 111
5.1.4 參數校驗異常類 112
5.1.5 自定義異常類 112
5.1.6 將項目代碼推送至遠端Git 112
5.1.7 項目發布到阿裡雲私服 115
5.2 行程中心實現 116
5.2.1 創建行程中心的項目框架 117
5.2.2 子模塊api 118
5.2.3 子模塊provider 120
5.2.4 推送項目代碼到遠端Git庫 127
5.2.5 子模塊api發布到阿裡雲私服 129
5.3 旅客中心實現 130
5.3.1 項目目錄結構 131
5.3.2 子模塊api 131
5.3.3 子模塊provider 133
5.3.4 推送項目代碼到遠端Git庫 138
5.3.5 子模塊api發布到阿裡雲私服 140
5.4 行李中心實現 140
5.4.1 項目目錄結構 140
5.4.2 子模塊api 140
5.4.3 子模塊provider 142
5.4.4 推送項目代碼到遠端Git庫 148
5.4.5 子模塊api發布到阿裡雲私服 148
5.5 業務應用實現 149
5.5.1 項目框架 150
5.5.2 接口實現 153
5.5.3 接口測試 155
5.5.4 推送項目代碼到遠端Git庫 156
5.5.5 API網關配置 156
5.6 後台管理實現 157
5.6.1 安裝iview-admin 158
5.6.2 基礎框架配置 159
5.6.3 行李查詢頁面開發 161
5.6.4 行李查詢樣式開發 162
5.6.5 行李查詢邏輯腳本開發 162
5.6.6 頁面展示 164
5.6.7 推送項目代碼到遠端Git庫 165
5.7 小程序端實現 165
5.7.1 微信小程序環境配置 166
5.7.2 業務功能實現 168
5.7.3 測試 173
5.7.4 推送項目代碼到遠端Git庫 174
第6章 雲計算資源 175
6.1 計算資源 175
6.1.1 企業實名認證 175
6.1.2 地域與可用區 176
6.1.3 資源組 178
6.1.4 ECS 179
6.1.5 配置安全組 183
6.1.6 配置快照 183
6.1.7 容器與Serverless 185
6.2 VPC專有網絡 187
6.2.1 VPC邏輯架構 187
6.2.2 VPC應用場景 188
6.3 連接公網 189
6.3.1 固定公網IP 189
6.3.2 EIP 190
6.3.3 負載均衡 191
6.3.4 NAT網關 192
6.3.5 域名備案解析 193
6.4 多VPC與本地IDC互通 196
6.4.1 VPN網關 196
6.4.2 智能接入網關 199
6.4.3 高速通道 201
6.4.4 雲企業網 202
6.5 安全 203
6.5.1 雲監控 203
6.5.2 雲安全中心 206
6.5.3 SSL證書 208
6.5.4 權限管理 210
第7章 雲數據庫RDS 212
7.1 關系數據庫 213
7.1.1 RDS的特點 213
7.1.2 RDS與自建數據庫對比 214
7.2 MySQL數據庫 214
7.2.1 創建RDS實例 214
7.2.2 設置RDS訪問白名單 215
7.2.3 創建賬號 216
7.2.4 創建數據庫 217
7.2.5 申請外網地址 218
7.2.6 連接數據庫 218
7.3 數據管理DMS 219
7.3.1 數據庫登錄 220
7.3.2 表管理 221
7.3.3 導入和導出 223
7.3.4 生成在線文檔 223
7.3.5 性能監測和會話管理 224
7.4 數據庫備份DBS 225
7.4.1 創建備份計劃 225
7.4.2 配置備份計劃 226
7.4.3 查看備份計劃 228
7.4.4 恢復備份數據 228
7.4.5 數據庫恢復 230
7.4.6 跨地域備份恢復 231
7.4.7 恢復到本地數據庫 232
7.5 數據傳輸DTS 234
7.5.1 數據遷移 234
7.5.2 創建遷移任務 234
7.5.3 啟動任務遷移 237
7.5.4 數據同步 237
7.6 混合雲數據庫管理HDM 239
7.7 非關系數據庫 240
7.7.1 Redis數據庫 240
7.7.2 MongoDB數據庫 242
7.8 對象存儲OSS 242
7.8.1 OSS 243
7.8.2 創建存儲空間 244
7.8.3 上傳文件 245
7.8.4 綁定域名 245
7.8.5 下載分享文件 246
7.8.6 靜態網站托管 247
7.8.7 數據服務 247
第8章 分佈式中間件EDAS 249
8.1 EDAS介紹 249
8.1.1 什麽是EDAS 249
8.1.2 微服務管理 251
8.1.3 組件應用 251
8.2 EDAS應用 252
8.2.1 創建命名空間 252
8.2.2 創建集群 253
8.2.3 創建應用 254
8.2.4 配置應用 255
8.2.5 開通ECS安全組埠 256
8.3 流水線部署 257
8.3.1 創建雲效應用 257
8.3.2 添加運行環境 258
8.3.3 創建流水線 259
8.3.4 運行流水線 262
8.3.5 應用後台訪問配置 265
8.3.6 發布小程序 269
8.3.7 前端頁面發布到OSS 271
8.3.8 VPN連接EDAS環境 276
8.4 GTS 276
8.4.1 GTS特點 277
8.4.2 開通GTS 277
8.4.3 使用GTS 278
8.5 PTS 279
8.5.1 PTS功能 279
8.5.2 使用壓測 280
8.5.3 真機測試 281
8.6 分佈式任務調度SchedulerX 2.0 283
8.6.1 SchedulerX 2.0特點 284
8.6.2 SchedulerX 2.0使用 285
8.7 ARMS 286
8.7.1 ARMS功能特點 286
8.7.2 ARMS使用 287
8.8 消息隊列RocketMQ版 288
8.8.1 異步消息 288
8.8.2 消息類型 290
8.8.3 MQ使用 290
8.9 日誌服務 294
8.9.1 日誌項目 294
8.9.2 日誌接入 295
8.9.3 寫入日誌 295
8.9.4 查詢日誌 296
8.10 CSB 297
8.10.1 CSB功能特點 297
8.10.2 CSB使用 298
第9章 人工智能 301
9.1 雲小蜜 301
9.1.1 使用流程 302
9.1.2 知識庫 303
9.1.3 多輪對話 306
9.1.4 機器人訓練 307
9.2 其他服務 308
9.2.1 短信服務 308
9.2.2 語音服務 310
9.2.3 雲市場 311
第 10章 智能數據分析 313
10.1 Quick BI自助可視化工具 313
10.1.1 Quick BI核心流程 314
10.1.2 開通並添加用戶 315
10.1.3 創建數據源 316
10.1.4 創建數據集 318
10.1.5 製作儀表板 319
10.1.6 製作電子表格 321
10.1.7 製作數據門戶 322
10.2 DataV數據可視化 323
10.2.1 DataV功能特點 323
10.2.2 創建可視化應用 324
10.2.3 大屏發布分享 325
10.2.4 DataV的組件 326
結語 328
作者介紹
任波
阿里雲MVP,擁有十四年經驗的開發老兵。
早期從事ERP系統開發、財務軟件開發工作;2011年開始擁抱大數據,進入金融行業數據倉庫和商業智能開發領域;
2016年起在某大型支付公司承擔互聯網架構設計和研發團隊管理工作。
現為某大型集團公司的技術總監,親歷了多個大型信息平台的建設工作。