- ISBN:9787121393808
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:276
- 出版时间:2020-09-01
- 条形码:9787121393808 ; 978-7-121-39380-8
本书特色
适读人群 :本书介绍的架构设计方法主要适合以下读者: ?从事互联网后端开发的工程师; ?从事互联网行业的产品经理; ?即将加入互联网行业的新人。书中的内容都是架构设计中遇到的经典问题,解决方案也都是作者的亲身经历。其中: ??在“架构设计的技术方法”部分中,从“切分与扩展”“主动发现”“自动化”“灰度升级”“过载保护”“负载均衡”“柔性”等技术角度对架构设计进行阐述。 ??“架构思维意识部分”从不同的角度对影响架构设计的“心法”展开介绍,包括“稳定为王”“完成比完美更重要”“聚沙成塔”“自动化思维”“产品思维”。 ??“善用工具”部分介绍了部分算法和流程,帮助读者更好地将这些工具应用到架构设计工作中。 ??“案例剖析”部分详细列举了互联网架构设计中的三个
内容简介
本书主要讲解如何能够做好互联网架构设计,书中会详尽介绍架构的一些心得心法,不局限于具体的技术。大都是通用的技术意识和思维方法。书中会介绍作者在工作中遇到的实际案例和总结方法,阐述架构设计中的一些方法论。如何能够设计出稳定、高可用的互联网服务。希望通过本书的介绍,让互联网后台的从业者,能够受到些启发,早日成为架构师,设计出更多更稳定更高效的系统架构。
目录
目 录
**部分 架构简介
第1章 架构简介 2
1.1 架构的定义 2
1.2 对架构师的要求 4
1.3 互联网架构的挑战 7
1.4 一切尽在控制 8
1.5 小结 10
第二部分 架构设计的技术方法
第2章 切分与扩展 16
2.1 切分 16
2.1.1 数据维度切分 16
2.1.2 逻辑维度切分 23
2.1.3 切分的优点 24
2.2 扩展 25
2.2.1 部署扩展 25
2.2.2 升级扩展 27
2.2.3 set模型 29
2.3 小结 31
第3章 主动发现 33
3.1 日志 34
3.1.1 为什么要记日志 34
3.1.2 日志级别 35
3.1.3 日志类型 36
3.1.4 注意事项 38
3.2 监控 40
3.3 主动发现的监控标准 43
3.3.1 系统层监控 43
3.3.2 用户侧监控 44
3.3.3 应用层监控 45
3.4 其他形式的监控 47
3.5 小结 49
第4章 自动化 52
4.1 自动部署 54
4.1.1 准备 54
4.1.2 实现 55
4.1.3 验证 57
4.2 自动恢复 58
4.2.1 服务恢复 58
4.2.2 流量迁移 60
4.3 提升自动化意识 63
4.4 其他场景 64
4.5 小结 66
第5章 灰度升级 67
5.1 策略 68
5.1.1 按照用户身份执行灰度策略 68
5.1.2 按照号段执行灰度策略 69
5.1.3 按照命令号执行灰度策略 70
5.1.4 按照时间执行灰度策略 71
5.2 灰度部署方式 73
5.2.1 蓝绿部署/发布 73
5.2.2 金丝雀发布 74
5.3 注意事项 75
5.3.1 数据采样 75
5.3.2 及时回滚 76
5.3.3 周期完全 76
5.3.4 测试完全 77
5.3.5 充分验证 78
5.4 案例―系统迁移下线操作 79
5.4.1 验证和比对 79
5.4.2 回滚 80
5.5 小结 81
第6章 过载保护 82
6.1 过载的现象及原因 82
6.1.1 什么是过载 82
6.1.2 过载现象及原因分析 85
6.2 处理方式 86
6.2.1 隔离 87
6.2.2 限流 88
6.2.3 节流和防抖 94
6.2.4 动态调节 95
6.2.5 尽早拒绝 96
6.2.6 调整缓冲区大小 97
6.2.7 减少重试 98
6.2.8 做好容量评估 98
6.3 小结 99
第7章 负载均衡 100
7.1 理论算法 100
7.1.1 基本轮询 100
7.1.2 加权轮询 102
7.1.3 随机访问 103
7.1.4 源地址Hash 104
7.1.5 *小连接数 105
7.1.6 映射分配 106
7.1.7 一致性Hash 107
7.2 动态负载均衡 110
7.3 常用组件 111
7.3.1 DNS 111
7.3.2 Nginx 111
7.3.3 LVS 113
7.3.4 NAT模式 113
7.3.5 DR模式 114
7.3.6 IP Tunneling模式 115
7.3.7 SDK组件 117
7.4 实际案例―Web类业务负载均衡实现 117
7.5 小结 119
第8章 柔性 120
8.1 理论基础 122
8.1.1 CAP定理 122
8.1.2 BASE理论 124
8.2 柔性的实现方法 126
8.2.1 产品角度 127
8.2.2 技术角度 128
8.3 验证方式 131
8.4 小结 132
第三部分 架构思维意识
第9章 稳定为王 137
9.1 控制因素 137
9.1.1 安全 137
9.1.2 变更 141
9.2 保障方法 144
9.2.1 合理拒绝 145
9.2.2 厘清主次关系 145
9.2.3 容量量化 147
9.2.4 预先准备 148
9.2.5 注重监控 149
9.2.6 敬畏之心 150
9.3 应对异常 152
9.3.1 处理事故 152
9.3.2 管理预期 153
9.3.3 复盘总结 153
9.3.4 有效预防 153
9.3.5 谨慎变更 154
9.4 小结 155
第10章 完成比完美重要 156
10.1 先扛住再优化 156
10.1.1 快速抢占市场 157
10.1.2 实现先于性能 157
10.1.3 需求可能修改 158
10.1.4 验证用户行为 158
10.1.5 突发问题案例 158
10.2 *小可用,快速迭代 160
10.3 不要等待 160
10.4 接受不完美 161
10.4.1 分清主次 161
10.4.2 自动化降级 162
10.4.3 代价*低 162
10.5 及时偿还技术债务 163
10.5.1 定期重构 164
10.5.2 及时清理 165
10.5.3 对技术有追求 167
10.6 小结 167
第11章 聚沙成塔 168
11.1 小而简洁 168
11.2 扩展能力 172
11.3 小结 173
第12章 自动化思维 175
12.1 拒绝重复 175
12.1.1 时间成本 175
12.1.2 解决重复 176
12.2 工具系统化 178
12.3 小结 180
第13章 产品思维 181
13.1 体验业务 181
13.2 体验竞品 182
13.3 扬长避短 183
13.4 控制欲望 184
13.5 献计献策 185
13.6 反哺方案 185
13.7 小结 186
第四部分 善用工具
第14章 算法 189
14.1 树状数组 190
14.1.1 问题场景 190
14.1.2 排行榜实现及优化方案 191
14.1.3 树状数组实现排行榜 191
14.1.4 树状数组优化排行榜 195
14.2 多阶Hash算法 196
14.2.1 原理 196
14.2.2 优点 197
14.2.3 缺点 198
14.3 利用线性同余的一致性Hash算法 199
14.3.1 算法内容 199
14.3.2 适用场景 199
14.3.3 实现原理 200
14.4 随机数在互联网业务中的应用 203
14.4.1 随机数的生成方法 203
14.4.2 误用随机数的场景 205
14.4.3 项目中用到随机数的场景 207
14.5 小结 212
第15章 流程和文化 213
15.1 流程 213
15.1.1 需求阶段 214
15.1.2 开发阶段 215
15.1.3 测试阶段 217
15.1.4 发布阶段 219
15.1.5 运营阶段 220
15.1.6 管理机制 221
15.2 文化 222
15.3 小结 223
第五部分 案例剖析
第16章 架构案例剖析 226
16.1 小型案例―统计用户在线时长 226
16.1.1 需求描述 226
16.1.2 项目背景 227
16.1.3 需求分析 228
16.1.4 实现方案 228
16.1.5 案例总结 230
16.2 中型案例―抽奖活动 231
16.2.1 需求描述 231
16.2.2 需求分析 231
16.2.3 实现方案 232
16.2.4 整体架构设计 238
16.2.5 案例总结 240
16.3 大型案例―短网址服务 241
16.3.1 需求描述 241
16.3.2 需求分析 241
16.3.3 需求一:内部使用 243
16.3.4 需求二:大型互联网服务方案 246
16.4 小结 256
作者简介
从事互联网后端研发工作十余年。曾就职于腾讯QQ后台团队,全程参与过多个大型系统的设计和开发。对设计高性能、高可用互联网架构有着丰富的经验。专注于架构设计、系统重构、维护扩展等方面的技术研究,总结相关知识,为团队提供技术解决方案和培养架构人才。
-
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8