本书围绕真实业务场景,系统完整地介绍了微服务中台架构在企业成功落地的全过程。它从企业遇到的IT架构痛点出发,覆盖了IT架构模式选型、技术方案设计、团队管理和项目实施过程中的每一步,并且介绍了如何基于阿里云PaaS平台,构建低风险、高可用、易扩展、好维护的业务中台。 本书可以帮助对企业IT架构感兴趣的中高级软件工程师、架构师、产品经理、项目经理,深刻认识和理解业务中台,从而结合企业实际,快速搭建适合自身的业务中台架构。
阿里巴巴副总裁胡成臣倾力推荐,手把手教你搭建\"刚刚好\"的中台架构!
实战导向:围绕真实业务场景,完整还原微服务中台架构在企业的成功落地
系统全面:覆盖IT架构模式选型、技术方案设计、团队管理和项目实施过程
易于实践:基于阿里云PaaS平台,构建高可用、好扩展、易运维的业务中台
任波,阿里云MVP,拥有十四年经验的开发老兵。早期从事ERP系统开发、财务软件开发工作;2011年开始拥抱大数据,进入金融行业数据仓库和商业智能开发领域;2016年起在某大型支付公司承担互联网架构设计和研发团队管理工作。现为某大型集团公司的技术总监,亲历了多个大型信息平台的建设工作。
目录
第 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