图书简介:
目录
第1章 架构基本认知 1
1.1 架构的演进 1
1.1.1 一张图看懂单体架构 1
1.1.2 一张图看懂集群架构 2
1.1.3 一张图看懂微服务架构 3
1.1.4 一张图看懂云原生架构 8
1.2 AI架构师的思维方式 9
1.2.1 系统思维与模块化设计 9
1.2.2 架构决策中的权衡 10
1.2.3 架构设计与业务需求的关系 12
1.3 架构设计的目标和原则 13
1.3.1 架构设计的目标 13
1.3.2 设计易于维护的系统 14
1.3.3 技术债务的识别与管理 15
1.3.4 【实战】电商系统架构设计的基本原则 17
1.4 架构设计与团队协作 18
1.4.1 跨职能团队协作 18
1.4.2 AI架构师与开发者协作 22
1.5 AI架构师的角色与定位 24
1.5.1 AI架构师是什么及应该做什么 24
1.5.2 AI服务如何影响架构设计 25
1.5.3 AI架构师的新工具 26
1.5.4 AI架构师需要掌握的三类知识 28
/
第2章 架构分层 31
2.1 一张图看懂AI架构 31
2.2 架构分层的概念 34
2.2.1 分层原则——从职责解耦到算力异构 34
2.2.2 职责分配——支持模块的职责边界设计 36
2.3 服务层 37
2.3.1 一张图看懂服务层架构 37
2.3.2 服务层的模块化设计——高内聚与低耦合 39
2.3.3 服务层的可扩展性设计——支持AI服务的接入与编排 39
2.3.4 【实战】在电商系统中集成推荐服务 41
2.4 数据层 44
2.4.1 一张图看懂数据层架构 44
2.4.2 对比关系数据库与NoSQL数据库 45
2.4.3 数据库分库分表与模型训练样本分区 49
2.4.4 数据分片、分区与AI数据标注策略 52
2.4.5 【实战】AI语音识别系统的标注分区策略 53
2.4.6 数据一致性、样本可追溯性及数据治理与权限管控 57
2.4.7 【实战】AI驱动的用户画像数据管理架构设计 59
2.5 缓存层 62
2.5.1 一张图看懂融合AI推理的缓存层架构 62
2.5.2 对比Redis与Milvus在AI系统中的应用 64
2.5.3 【实战】智能客服系统中的缓存协同 67
2.5.4 Kafka、RabbitMQ与推理服务调度 70
2.6 开发层 74
2.6.1 选择支持AI模型接入的开发语言与框架 75
2.6.2 合理组织代码结构以适配AI模型调用逻辑 77
2.6.3 API设计——支持AI服务的调用规范 81
2.6.4 异常处理与推理失败回滚机制 85
2.6.5 日志记录与链路追溯设计 87
2.6.6 安全编码与权限控制机制 92
2.6.7 单元测试与稳定性测试 94
2.6.8 使用Copilot和DeepSeek辅助编码 96
2.6.9 【实战】集成大语言模型的智能问答系统开发 98
2.7 网络层 101
2.7.1 一张图看懂网络层架构 101
2.7.2 网络通信协议——REST与gRPC 103
2.7.3 多模型部署下的负载调度策略 104
2.7.4 智能网关设计 107
2.7.5 CDN与模型资源缓存 109
2.7.6 DNS解析与域名管理 113
2.7.7 WebSocket与实时对话式AI服务的集成 115
2.7.8 WebSocket多轮对话应用策略 117
/
第3章 微服务架构 121
3.1 服务拆分策略 121
3.1.1 如何合理拆分服务 121
3.1.2 如何确定服务粒度与边界 123
3.2 服务间通信——同步通信与异步通信 125
3.2.1 什么是同步通信 125
3.2.2 同步通信在电商系统中的痛点及相应解决策略 126
3.2.3 什么是异步通信 127
3.2.4 异步通信的实现方式1——消息队列系统 129
3.2.5 异步通信的实现方式2——事件驱动 130
3.3 微服务的基础设施 131
3.3.1 配置管理与配置中心 131
3.3.2 服务注册与发现 133
3.3.3 服务网关与API网关 137
3.3.4 负载均衡与动态路由 140
3.4 【实战】电商系统的微服务架构设计 143
3.4.1 项目背景与系统目标 143
3.4.2 电商系统的整体微服务架构 144
3.4.3 AI服务在微服务架构中的集成方式 144
/
第4章 分布式事务管理 146
4.1 什么是分布式事务 146
4.1.1 三张图看懂分布式事务 146
4.1.2 分布式事务面临的挑战及解决方案 148
4.2 分布式事务的提交机制——两阶段提交与三阶段提交 148
4.2.1 两阶段提交的工作原理 149
4.2.2 两阶段提交带来的问题及解决方案 150
4.2.3 三阶段提交的工作原理 150
4.2.4 对比两阶段提交与三阶段提交 152
4.3 Saga模式——长事务的解决方案 153
4.3.1 一张图看懂Saga模式 153
4.3.2 Saga模式的两种实现方式 154
4.3.3 【实战】确保Saga模式下的数据一致性 155
4.4 分布式事务的其他解决方案 157
4.4.1 TCC模式——解决复杂业务中跨表和跨库资源锁定问题 157
4.4.2 最大努力通知模式——确保数据的最终一致性 158
4.4.3 可靠消息最终一致性策略——确保接收消息的可靠性 159
4.5 分布式事务的企业级应用 161
4.5.1 AWS、Google、阿里巴巴如何管理分布式事务 161
4.5.2 Seata的分布式事务管理机制 162
/
第5章 高可用与异地多活架构 164
5.1 一张图看懂高可用架构 164
5.2 设计一个高可用架构 165
5.2.1 识别和加固单点故障点 165
5.2.2 【实战】通过添加冗余组件来提高系统的可用性 167
5.2.3 【实战】在高并发场景中通过限流来防止系统崩溃 168
5.2.4 【实战】在高并发场景中通过熔断来防止服务雪崩 173
5.2.5 【实战】在高并发场景中通过降级来应对性能瓶颈 174
5.3 异地多活——多区域数据中心的部署策略 176
5.3.1 异地双活与异地多活的工作原理 176
5.3.2 异地多活与高可用性、容灾的关系 179
5.4 【实战】大型在线游戏的高可用性策略 180
5.4.1 负载均衡与集群化 180
5.4.2 数据冗余与备份 181
5.4.3 容灾与故障恢复 181
5.4.4 无缝更新与维护 181
5.5 推理服务的高可用架构 184
5.6 推理服务的异地多活架构 186
/
第6章 性能优化设计 188
6.1 性能瓶颈识别 188
6.1.1 性能瓶颈的定义 188
6.1.2 使用分析与监控工具 190
6.2 数据库性能优化 192
6.2.1 优化索引 192
6.2.2 优化数据库查询 195
6.2.3 优化缓存查询 197
6.2.4 优化数据库连接池 199
6.3 网络与I/O性能优化 202
6.3.1 识别网络延迟与带宽瓶颈 202
6.3.2 优化TCP/IP协议栈 204
6.3.3 优化I/O性能 206
6.3.4 【实战】高并发场景中的I/O性能优化策略 209
6.4 日志采集与分析 211
6.4.1 日志采集与分析工具:ELK、Fluentd 211
6.4.2 【实战】微服务架构中的日志采集与分析策略 213
6.5 持续优化与性能回滚 214
6.5.1 什么是持续优化与性能回滚 215
6.5.2 性能回滚策略与方案——从优化到恢复 216
6.5.3 自动化性能回滚——蓝绿部署与灰度发布 219
/
第7章 可扩展性优化设计 221
7.1 水平扩展 221
7.1.1 什么是水平扩展 221
7.1.2 常见的负载均衡算法 222
7.1.3 服务发现与动态负载均衡的结合 224
7.1.4 分布式系统中的一致性哈希 225
7.2 垂直扩展 227
7.2.1 什么是垂直扩展 227
7.2.2 资源调度与分配 228
7.3 【实战】面向推理服务的可扩展性优化设计 229
/
第8章 架构重构 233
8.1 架构重构概述 233
8.1.1 什么是架构重构 233
8.1.2 技术债务与架构债务 235
8.1.3 架构重构的风险 236
8.1.4 架构重构的时机与原则 237
8.2 架构重构的方法和工具 240
8.2.1 自顶向下 240
8.2.2 自底向上 241
8.2.3 模块化与微服务化 242
8.2.4 架构重构的工具 244
8.3 【实战】电商系统架构重构 246
8.3.1 现有架构的分析与评估 246
8.3.2 重构用户订单系统,以实现模块化与微服务化 248
8.3.3 重构商品推荐系统,以提升性能与精准度 251
8.3.4 重构数据处理系统,以实现流转与实时分析 253
8.3.5 制定上线策略 255
8.4 【实战】金融系统架构重构 258
8.4.1 现有架构的分析与评估 258
8.4.2 架构重构的技术选型与实施策略 260
8.4.3 重构账户管理系统,以实现分布式设计 264
8.4.4 重构支付清算系统,以支持高并发与容灾 267
8.4.5 重构数据加密与访问控制系统,以保障隐私安全 269
8.5 【实战】借助AI实现智能化架构重构 272
8.5.1 架构评估的智能辅助分析 272
8.5.2 借助AI实现代码智能化架构重构 274
8.5.3 AI驱动的数据迁移与性能预测 277
/
第9章 云原生架构 279
9.1 云原生架构概述 279
9.1.1 一张图看懂云原生架构 279
9.1.2 云原生架构的设计模式 280
9.1.3 传统架构与云原生架构的差异 283
9.2 云原生架构的性能优化 285
9.2.1 资源调度与自动扩缩容 286
9.2.2 容器镜像与应用运行时的性能优化 287
9.3 云原生架构的多云与混合云 290
9.3.1 多云架构的优势与挑战 290
9.3.2 混合云架构的设计与实施 293
9.3.3 【实战】在多云与混合云架构中部署云原生应用 295
9.4 云原生架构中的AI实践 298
9.4.1 云原生架构中的AIOps 298
9.4.2 AI驱动的资源调度与弹性优化 301
9.4.3 【实战】基于AI模型的智能部署与自愈系统架构设计 303
/
第10章 服务网格架构 306
10.1 服务网格的基本概念 306
10.1.1 一张图看懂服务网格架构 306
10.1.2 服务网格的工作原理 307
10.2 服务网格的关键功能 310
10.2.1 服务发现与负载均衡 310
10.2.2 服务间安全通信 312
10.2.3 路由控制与流量管理 315
10.3 服务网格的技术实现 317
10.3.1 Istio的组件结构与逻辑结构 317
10.3.2 Istio的安装与配置 318
10.3.3 对比Linkerd与其他服务网格商品 318
10.3.4 数据平面与控制平面 321
10.4 【实战】AI在服务网格中的应用 324
10.4.1 AI驱动的流量异常检测与治理 324
10.4.2 智能路由 327
10.4.3 服务网格中的智能观测与告警系统 330
10.5 【实战】大型电商系统的服务网格应用 333
10.5.1 系统背景 333
10.5.2 服务网格架构设计 334
10.5.3 分阶段落地策略 334
/
第11章 无服务架构 336
11.1 无服务架构基础 336
11.1.1 无服务架构的定义、优势与劣势 336
11.1.2 从传统架构到无服务架构的转变 337
11.2 无服务架构的原理 339
11.2.1 FaaS的运行原理 339
11.2.2 事件驱动架构与无服务架构 341
11.2.3 API网关与无服务架构 342
11.3 无服务架构的设计原则 344
11.3.1 函数设计的粒度控制与职责划分 344
11.3.2 无状态优先与幂等性保障 346
11.3.3 冷启动优化、安全隔离设计与可观测性设计 348
11.4 无服务架构的部署 352
11.4.1 对比AWS Lambda与Azure Functions 353
11.4.2 无服务架构的部署流程 355
11.5 AI在无服务架构中的应用 357
11.5.1 推理服务的设计模式 357
11.5.2 AI模型异步训练 359
11.5.3 Serverless AI的成本控制策略 361
11.6 【实战】无服务架构在IoT系统中的应用 364
11.6.1 系统概述 365
11.6.2 无服务架构设计 365
11.6.3 关键功能设计说明 367
/
第12章 【实战】智能客服系统从0到1 368
12.1 业务需求分析 368
12.2 系统架构设计 370
12.3 数据库设计 372
12.4 缓存与加速策略设计 374
12.5 AI能力集成架构建立与Prompt策略制定 374
12.6 资源调度策略实现 377
12.7 动态负载监控与自适应响应策略设计 379
展开
从传统架构到AI架构的转变,不仅是技术架构的升级,更是每一位工程师认知边界的突破与重塑。本书的诞生,正是为了陪伴读者从传统架构转换到AI架构,帮助读者掌握架构设计的核心要领,完成从开发者到AI架构师的进阶。
//
本书要解决的主要问题
(1)想象一下,当你已熟练掌握Web开发的概念,面对大模型、GPU集群、推理接口这些新概念时,是不是会感到陌生和焦虑?本书将带领你从熟悉的开发语言和分布式系统出发,循序渐进地进入AI架构的世界,完成知识体系的无缝衔接。
(2)你是否在实际开发中陷入以下困境:模型推理响应速度慢、接口响应易超时、显存资源无法合理调度?本书将手把手带领你设计缓存策略、模型服务分层架构、GPU资源调度与弹性伸缩方案,帮助你打造真正“能落地”的AI架构。
(3)很多工程师具备一定的Java、Spring Boot或Python基础,能独立实现一个简单的接口服务,却不知道如何对接AI模型、设计推理服务,以及实现模型热更新和版本管理。本书将帮助你全面掌握AI架构的技术栈与设计模式,为后续技术深造指明方向。
//
本书主要内容概述
本书内容结构清晰,实践导向明确,分为多章,每章均包含详细的概念讲解、架构图和真实示例拆解。
(1)架构基本认知:从传统架构出发,过渡到AI架构,帮助读者建立宏观AI架构图谱。
(2)数据层设计:讲解数据采集、数据建模、样本分区、数据库分库分表与AI训练任务数据的映射关系等关键内容。
(3)服务层设计:介绍接口封装、版本管理、A/B测试、在线/离线融合服务部署与监控等内容。
(4)推理优化与资源调度:聚焦推理加速、显存管理、服务热加载、弹性伸缩等关键性能设计。
(5)网关与安全机制:深入讲解接口限流、灰度发布、权限控制、异常处理机制等内容。
(6)高可用性与可扩展性设计:系统性拆解服务注册与发现、负载均衡、故障恢复、CDN与模型内容缓存等内容。
(7)实战案例:全书共有20多个实战案例,能够帮助读者从零基础开始构建架构,实现“从需求分析到架构设计、部署优化”的全流程闭环。
//
本书适合人群
本书面向以下两类读者。
(1)有一定后端开发经验、想进阶成为AI架构师的工程师,本书可助其提升架构能力,并掌握AI技术落地后端的方法。
(2)有传统架构经验、需要在后端落地AI技术的资深AI架构师,本书为其提供AI技术与后端架构融合的实践指南。
//
如何阅读本书
为了最大限度地吸收本书内容,建议读者采用如下方式阅读本书。
(1)按章循序渐进:本书各章之间具有逻辑关联,建议读者按照顺序系统阅读,不跳读。
(2)结合实战案例动手实践:每章内容均配有架构图与示例代码,建议读者在本地实践验证理解。
(3)关注概念与场景:本书强调“从场景出发”的架构思维,建议读者结合自身项目的实际情况进行联想与思考。
展开