网易云平台开发一线的主力,为你讲述云原生的技术体系,展示从单体到服务化架构的演进。
针对企业如何采用云原生架构实现高效的产品迭代能力、支持互联网业务健康发展,《云原生应用架构实践》总结了一套可行的方法论。书中详解了云原生应用的内涵和要点,对实现云原生应用面临的功能和非功能(高性能、高可用、可扩展、安全性、高可靠等)的不同阶段需求和实现方案进行了较为完整的梳理。内容涵盖了系统工程化、高性能数据库、分布式数据库、DevOps、微服务架构、服务化测试、多机房架构等方面,既有业务挑战分析,也有架构实践指导,并通过实战案例加以诠释。
本书适合希望采用云计算帮助企业实现业务提升的 CTO、CIO、架构师等群体。
网易云基础服务架构团队,负责网易云基础服务平台建设,包括计算、网络、存储、CDN、数据库等服务,以及自动化平台的架构和实践,该平台支撑了网易内部95%的互联网产品。团队在互联网产品开发和规范化的系统建设上有丰富的经验,对互联网业务需求、系统设计、开发、测试、运维和调优等方面有独到的经验和理解。
祝一切顺利!
引子 1
第1章 互联网系统架构的挑战 2
1.1 云应用架构技术发展 4
1.2 云平台下架构的不同点 5
1.2.1 开发模式的区别 6
1.2.2 交付模式的区别 7
1.2.3 架构设计的区别 8
1.3 云原生应用架构 10
1.4 架构演化发展历程 21
1.4.1 初创期架构 22
1.4.2 快速成长期架构 24
1.4.3 分布式服务架构 26
1.5 云计算服务介绍 29
1.6 云计算解决方案 31
1.7 案例概述 34
1.7.1 背景介绍 34
1.7.2 环境要求 36
1.7.3 项目构建 36
1.7.4 项目运行 36
1.7.5 相关技术介绍 37
小结 40
第2章 从0到1工程实践 41
2.1 工程化 41
2.1.1 工程模板 41
2.1.2 模块化 45
2.1.3 工程化构建 50
2.1.4 代码规范及检查 53
2.1.5 代码版本管理 54
2.1.6 环境划分 61
2.2 基于容器工程化 62
2.2.1 Docker及作用 63
2.2.2 Docker镜像及操作 66
2.2.3 Docker容器及操作 73
2.2.4 基于容器工程化 77
2.3 实战示例 78
小结 84
第3章 初创期应用架构实践 85
3.1 技术选型 85
3.1.1 业务框架选型 85
3.1.2 结构化数据存储 92
3.1.3 缓存选型 102
3.1.4 静态资源存储 106
3.2 架构实践 109
3.2.1 快速迭代 109
3.2.2 高可用与负载均衡 111
3.2.3 交付与部署 117
3.2.4 Web应用安全 119
3.3 应用监控 127
3.3.1 应用监控指标 127
3.3.2 应用进程监控 128
3.3.3 操作系统监控 129
小结 136
第4章 快速成长期应用架构实践 137
4.1 关键业务需求 137
4.1.1 计数与排序 137
4.1.2 秒杀 146
4.1.3 全文检索 149
4.1.4 日志收集 154
4.2 架构实践 156
4.2.1 前端系统扩展 157
4.2.2 无状态服务设计 157
4.2.3 在线水平扩展 160
4.2.4 后端系统扩展 163
4.2.5 系统通信 173
4.2.6 消息中间件 176
4.3 系统优化 181
4.3.1 静态资源分离 182
4.3.2 数据库调优 185
4.3.3 系统高可用 193
4.4 应用诊断 200
4.4.1 应用健康检查 200
4.4.2 性能问题诊断 204
4.4.3 基于日志的故障诊断 210
4.5 数据库诊断 214
4.6 DevOps 223
4.6.1 持续集成 224
4.6.2 持续交付 227
4.6.3 灰度发布 229
4.6.4 大应用编排 231
4.7 安全设计 246
4.7.1 入侵检测 247
4.7.2 防劫持攻击 249
小结 255
第5章 稳定期服务化应用架构实践 256
5.1 业务拆分 256
5.2 统一配置中心 259
5.3 分布式定时任务 261
5.3.1 分布式定时任务设计 262
5.3.2 业界流行的开源框架 264
5.4 分布式锁系统 274
5.5 微服务化架构 277
5.5.1 服务发现 279
5.5.2 服务治理 302
5.5.3 微服务框架 307
5.5.4 服务编排 313
5.5.5 微服务测试 321
5.6 分布式数据一致性 333
5.6.1 CAP和BASE理论 333
5.6.2 一致性模型 336
5.6.3 典型的解决方案 337
5.7 同城多活 344
5.7.1 应用同城多活 345
5.7.2 跨AZ负载均衡 347
5.8 故障诊断 348
小结 353
参考文献 354
技术术语 356
历时三年终到稿,还未读完初稿,就知道《架构解密:从分布式到微服务》将是一本畅销书。
作者:(美)Lee Atchison(李 艾奇逊) 译者:张若飞
Lee Atchison 是New Relic 公司的席云架构师和布道师。他已经在New Relic 工作了4年,负责设计并领导建立了New Relic 的基础设施产品,帮助New Relic 搭建了健壮的服务化系统架构,支撑起公司从一个很小的SaaS 创业公司成长为一个高流量的公众企业。他非常擅长构建高可用的系统。Lee 拥有28 年的行业工作背景,之前在Amazon.com 担任7 年高级经理的时候,了解到如何搭建基于云的、可伸缩的系统架构。在Amazon,他领导并建立了公司个软件下载商店,搭建了AWS Elastic Beanstalk 服务,并带领团队将Amazon 的零售平台从一个单体架构成功迁移到了基于服务的架构。
本书译者的中英文水平都极高,且工作在系统管理的一线,具有丰富的理论知识和实践经验,相信会为读者带来一本质量上乘的图书。
目录
序. .......................... xv
前言. ......................xvii
第 1章 什么是可用性... 2
可用性与可靠性 ............................................... 3
什么导致了低可用性 ....................................... 4
第 2章 提高应用程序可用性的五个要点......................................... 6
要点 1:时刻考虑应对故障 ............................. 7
要点 2:时刻考虑如何伸缩 ............................. 8
要点 3:缓和风险 ............................................ 9
要点 4:监控可用性 ...................................... 10
要点 5:以预测和确定的方式来应对可用性问题 ...................................................... 11
做好准备 ........................................................ 12
第 3章 测量可用性... 13
N个 9 14
什么样的可用性是合理的 ...................... 14
不要上当 ........................................................ 14
通过数字来体现可用性.................................. 15
测试并跟踪当前的可用性 .............................. 17
将手动流程自动化 ......................................... 17
自动化部署............................................. 18
配置管理 ................................................ 18
更改实验和高频次更改 .......................... 19
自动化的变更完备性测试 ...................... 20
改进你的系统 ................................................ 20
不断变化和发展中的应用程序 ...................... 20
时刻关注可用性 ............................................. 21
第 5章 什么是风险管理. .......................................................... 24
管理风险 ........................................................ 25
识别风险 ........................................................ 25
消除严重的风险 ......................................... 26
风险缓和 ........................................................ 26
定期检查 ........................................................ 27
对风险管理的总结 ......................................... 27
第 6章 可能性与严重性. .......................................................... 28
10佳列表:低可能性,低严重性 .................. 29
订单数据库:低可能性,高严重性 ............... 29
自定义字体:高可能性,低严重性 ............... 30
T恤图片:高可能性,高严重性 ................... 31
第 7章 风险模型...... 32
风险模型的作用域 ......................................... 34
创建风险模型 ................................................ 34
通过头脑风暴建立风险列表 .................. 35
填写可能性和严重性字段 ...................... 36
风险项详情............................................. 37
触发计划 ................................................ 37
使用风险模型来制订计划 .............................. 37
维护风险模型 ................................................ 38
第 8章 风险缓和...... 40
恢复计划 ........................................................ 41
容灾计划 ........................................................ 42
改进我们的风险状况 ..................................... 43
第 9章 比赛日......... 44
预发布环境和生产环境.................................. 44
在生产环境中举行比赛日的担心 ................... 46
比赛日测试 .................................................... 47
第 10章 构建低风险系统......................................................... 48
冗余 .. 48
幂等接口示例 ................................................ 49
增加了复杂性的冗余改进 .............................. 49
独立性 ............................................................ 50
安全 .. 51
简单性 ............................................................ 51
自修复 ............................................................ 52
运维流程 ........................................................ 53
第 11章 为什么使用服务. ......................................................... 56
单体应用程序 ................................................ 56
基于服务的应用程序 ..................................... 57
所有权收益 .................................................... 58
规模收益 ........................................................ 60
如何定义服务 ................................................ 63
深入了解服务 ......................................... 63
指导原则 1:特定的业务需求 ................ 63
指导原则 2:清晰和独立的团队所有权 . 64
指导原则 3:天然隔离的数据 ................ 65
指导原则 4:共享的能力 /数据 ............. 67
多种原因 ................................................ 67
过犹不及 ........................................................ 68
适当的平衡 .................................................... 69
第 13章 处理服务故障............................................................ 70
级联式的服务故障 ......................................... 70
如何响应服务故障 ......................................... 71
可预测的响应 ......................................... 72
可理解的响应 ......................................... 73
合理的响应............................................. 73
如何确定故障 ................................................ 74
适当的行为 .................................................... 76
优雅降级 ................................................ 76
优雅补偿 ................................................ 77
尽早失败 ................................................ 77
用户导致的问题 ..................................... 78
第Ⅳ部分 如何让应用程序具有伸缩性
第 14章 两次失误的高度......................................................... 82
什么是“两次失误的高度” ............................ 83
实践中的“两次失误的高度” ........................ 83
丢失一个节点 ......................................... 83
升级过程中出现的问题 .......................... 85
数据中心恢复 ......................................... 86
隐蔽的共享故障类型 .............................. 88
管理你的应用程序 ......................................... 90
航天飞机 ........................................................ 90
第 15章 服务所有权.. 92
由独立团队负责的服务架构 .......................... 92
STOSA应用程序和组织的好处 ..................... 94
成为一个服务所有者意味着什么 ................... 94
第 16章 服务分级. .... 97
应用复杂性 .................................................... 97
什么是服务分级 ............................................. 98
为服务分配服务级别标签 .............................. 99
1级服务 ................................................. 99
2级服务 ................................................. 99
3级服务 ............................................... 100
4级服务 ............................................... 100
示例:在线商店 ........................................... 100
接下来呢 ...................................................... 103
第 17章 使用服务分级.......................................................... 104
期望 104
响应性 .......................................................... 104
依赖 106
关键依赖 .............................................. 106
非关键依赖........................................... 107
小结 107
第 18章 服务等级协议.......................................................... 108
什么是服务等级协议 ................................... 108
外部 SLA与内部 SLA的对比 ..................... 110
为什么内部 SLA很重要 .............................. 110
SLA可以作为一种信任的手段 .....................111
SLA可以用于问题诊断 ................................111
限定 SLA .............................................. 113
排名 SLA .............................................. 113
延迟分组 .............................................. 115
究竟应当定义多少内部 SLA,以及定义哪些内部 SLA ........................................... 116
关于 SLA的其他评价 .................................. 116
第 19章 持续改进. ... 117
定期检查你的应用程序................................ 117
微服务 .......................................................... 118
服务所有权 .................................................. 118
无状态服务 .................................................. 118
数据在哪里 .................................................. 118
数据分区 ...................................................... 119
持续改进的重要性 ....................................... 121
第 20章 变化和云服务. ..........................................................124
云服务有哪些变化 ....................................... 124
对基于微服务架构的认可 .................... 124
更小、更专业的服务 ............................ 125
更专注于应用程序 ............................... 125
微型初创公司 ....................................... 125
安全和合规已经成熟 ............................ 125
变化还在继续 .............................................. 125
第 21章 云上的分布.127
AWS的架构 ................................................. 127
AWS区域 ............................................. 127
AWS可用区 ......................................... 128
数据中心 .............................................. 128
总体架构概述 .............................................. 129
第 22章 托管的基础设施....................................................... 134
基于云的服务架构 ....................................... 134
原生资源 .............................................. 135
托管资源(基于服务器) ....................... 136
托管资源(不基于服务器) ................... 137
使用托管资源的影响 ................................... 138
使用非托管资源的影响................................ 138
监控和 CloudWatch ...................................... 138
第 23章 云资源分配. ............................................................ 140
固定额度的资源分配 ................................... 140
调整分配 .............................................. 141
预留容量 .............................................. 142
基于使用量的资源分配................................ 143
基于使用量分配资源的好处 ................ 144
资源分配技术的利与弊................................ 145
第 24章 可伸缩的计算选项.................................................... 146
云服务器 ...................................................... 147
优点 ...................................................... 147
缺点 ...................................................... 147
适用场景 .............................................. 147
计算分片 ...................................................... 147
优点 ...................................................... 147
缺点 ...................................................... 148
适用场景 .............................................. 148
动态容器 ...................................................... 148
优点 ...................................................... 148
缺点 ...................................................... 149
适用场景 .............................................. 149
微计算 .......................................................... 149
优点 ...................................................... 149
缺点 ...................................................... 150
第 25章 AWS.Lambda....................................................... 151
使用 Lambda ................................................ 151
事件处理 .............................................. 151
手机应用后台 ....................................... 152
物联网数据采集 ................................... 153
Lambda的优缺点......................................... 154
第Ⅵ部分 总结
第 26章 融会贯通...156
可用性 .......................................................... 156
风险管理 ...................................................... 157
服务 157
扩展 157
云服务 .......................................................... 158
面向可伸缩的架构 ....................................... 158
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有