高性能之道: SRE视角下的运维架构实践
全新正版未拆封
¥
45.18
3.8折
¥
118
全新
库存2件
作者王力
出版社电子工业出版社
出版时间2023-06
版次1
装帧其他
上书时间2023-08-13
商品详情
- 品相描述:全新
图书标准信息
-
作者
王力
-
出版社
电子工业出版社
-
出版时间
2023-06
-
版次
1
-
ISBN
9787121454585
-
定价
118.00元
-
装帧
其他
-
开本
16开
-
页数
384页
-
字数
496千字
- 【内容简介】
-
本书从实践出发,包括了作者参与并主导的3家电商互联网公司架构从0到1的构建经历,从多个角度讲解稳定、性能、效率、成本四大职责落地经验,并结合Mikey金字塔进行了部分创新,很多内容都可以直接复用于实际工作。本书分为7篇,分别是开端篇、监控篇、故障篇、容量篇、全局视角篇、性能篇和扩展篇。 本书适合互联网行业内的运维人员、SRE和DevOps工程师、架构师、技术团队负责人及关注用户体验的相关开发者阅读,也适合掌握了一定的SRE方法论但在实践中无从下手的读者阅读。
- 【作者简介】
-
王力,资深技术老兵,《Nginx实战:基于Lua语言的配置、开发与架构详解》和《高性能之道:SRE视角下的运维架构实践》作者。15年互联网从业经验,其中有9年电商互联网开发和运维经验,这期间担任过微拍堂运维专家、阿里技术专家、折800运维架构师等,并有5年主导电商大促活动保障的落地经验,推进过折800、微拍堂两家电商平台运维架构从0到1的建设,精通服务的稳定性建设,精通高并发场景下的性能优化和中间件开发,擅长通过架构设计来优化系统复杂度、降本增效。本书提供了一些补充内容(比如对软件安装、配置的讲解等),大家可以搜微信公众号“SRE基础架构”进行查阅。
- 【目录】
-
目 录
开端篇 弱化边界感
第1章 引言3
1.1 运维架构和SRE3
1.2 理解业务,技术为业务服务5
1.3 不设边界6
1.4 SRE金字塔6
1.5 总结7
第2章 重视测试环境和预发布环境8
2.1 提效和维稳的道门槛——测试环境9
2.1.1 低级错误9
2.1.2 提效分析10
2.2 “守门员”——预发布环境11
2.2.1 低级错误11
2.2.2 提效分析12
2.3 两大环境问题根本原因溯源12
2.4 微拍堂测试环境治理思路介绍13
2.5 总结17
监控篇 底层逻辑的艺术
第3章 浅谈监控系统设计21
3.1 梳理监控体系21
3.2 梳理监控指标22
3.3 变更监控25
3.4 准实时系统监控25
3.5 短时进程追踪工具27
3.6 全链路监控27
3.7 商业监控平台的选用建议28
3.8 监控方式:白盒监控与黑盒监控29
3.9 从监控数据中总结规律30
3.10 黄金指标30
3.11 总结31
第4章 云原生可观测性开源工具——Kindling32
4.1 行业现状32
4.2 Kindling解决方案——关联内核可观测性数据的Trace34
4.3 Kindling探针的架构设计理念37
4.4 Kindling探针架构38
4.4.1 内核态程序:drivers38
4.4.2 用户态C/C++程序:kindling-probe38
4.4.3 用户态Go程序:kindling-collector39
4.4.4 程序间通信方式40
4.5 在线Demo介绍41
4.6 案例分享42
4.6.1 安装43
4.6.2 功能介绍44
4.6.3 稳定性价值47
4.7 总结48
第5章 高阶实战——打造可持续维护的闭环流程49
5.1 案例:动态观测SQL质量流程设计50
5.1.1 分析规范难以落地的原因50
5.1.2 监督与管控流程设计51
5.1.3 通知和统计57
5.2 案例:WebP格式图片的规范和落地实践57
5.2.1 规范无法持续推广57
5.2.2 成本和用户体验上的双赢58
5.2.3 计划实施60
5.2.4 管控机制60
5.2.5 采集数据信息和数据加工处理60
5.2.6 巡检平台之规范化监督61
5.3 案例:管道通信规范化实践62
5.3.1 我们每天都在使用管道62
5.3.2 管道示例场景及性能说明64
5.3.3 如何规范管道使用场景66
5.4 标准和规范治理平台67
5.4.1 现状68
5.4.2 设计思路68
5.5 总结72
第6章 挖掘Nginx的监控价值73
6.1 URI指纹服务设计73
6.2 Nginx日志分析指南76
6.2.1 参数白名单76
6.2.2 URI的响应时间和HTTP状态监控77
6.2.3 URI响应字节数波动分析77
6.2.4 查询URL请求的项目79
6.2.5 注意HTTPS的透传80
6.2.6 利用Nginx完成动态全链路比例调整81
6.3 总结82
故障篇 故障的生命周期
第7章 事前治理的方法论85
7.1 从故障中总结经验85
7.2 从系统资源层面和日志中巡检异常86
7.3 从标准和规范中寻找闭环之路86
7.4 从业务中挖掘基础服务的使用问题87
7.5 技术风险防控运营成本87
7.6 总结88
第8章 变更管控设计思路89
8.1 变更管控89
8.1.1 变更对象89
8.1.2 变更发布90
8.1.3 变更可灰度91
8.1.4 变更可回滚92
8.1.5 变更可监控92
8.1.6 配置项变更92
8.1.7 变更管控思路92
8.2 JumpServer使用的艺术及工单交互96
8.3 变更三板斧:运维团队的可监控、可灰度、可回滚实践98
8.3.1 案例:云服务器资源伸缩稳定性98
8.3.2 案例:CDN OpenResty的变更策略102
8.4 总结106
第9章 轮值的设计思路107
9.1 值班模式探究108
9.1.1 让开发人员参与其中108
9.1.2 制定KPI109
9.1.3 值班人员的边界探讨110
9.2 值班机器人111
9.3 提升值班价值——SRE需求池设计112
9.3.1 结合日常巡检与非值班时间112
9.3.2 在烦琐的工作中收集需求112
9.4 总结113
第10章 故障演练与应急预案114
10.1 故障演练缘由114
10.1.1 更好地面对系统规模增长带来的复杂性115
10.1.2 提升故障的排查速度115
10.1.3 验证应急预案的正确性115
10.1.4 验证基础设施的稳定性116
10.1.5 验证监控感知能力116
10.1.6 验证应急流程的顺畅度116
10.2 故障演练流程116
10.2.1 故障演练场景关键要素116
10.2.2 故障演练预期117
10.3 应急预案119
10.3.1 应急场景标准化120
10.3.2 梳理应急预案清单120
10.4 总结121
第11章 应急响应流程实践122
11.1 收拢故障上报来源122
11.1.1 从技术体系内部发现122
11.1.2 从技术体系外部发现123
11.2 建立应急小组123
11.2.1 人多力量弱123
11.2.2 稳定性接口人和岗位权限123
11.2.3 完善客诉标准化术语124
11.3 故障噪点治理124
11.3.1 报警治理124
11.3.2 设计外部反馈阈值125
11.3.3 收集第三方抖动事件125
11.4 控制应急节奏126
11.4.1 舍小保大126
11.4.2 “优先止血”,后续定位根本原因127
11.4.3 及时同步信息,减少信息差127
11.5 应急“止血”的常见操作127
11.5.1 代码回滚127
11.5.2 重启128
11.5.3 时序监控下的限流、熔断、扩容129
11.5.4 业务降级130
11.5.5 阻断慢查询131
11.5.6 网络与运营商131
11.5.7 重识监控132
11.6 总结132
第12章 静态容灾降级系统133
12.1 荆棘之路134
12.2 设计之路136
12.3 架构流程图138
12.3.1 反向代理系统138
12.3.2 日志分析系统138
12.3.3 后台系统——利用URI指纹服务138
12.3.4 爬虫系统139
12.3.5 容灾的缓存系统140
12.3.6 基于时间的版本用途140
12.3.7 异地容灾141
12.4 核心代码解说142
12.4.1 Ngx_Lua应用142
12.4.2 爬虫和日志分析系统的关系143
12.4.3 完全容灾和部分容灾功能144
12.5 静态容灾的智能关闭方案145
12.5.1 从日志分析系统复制请求145
12.5.2 利用GoReplay复制流量145
12.5.3 利用Nginx的mirror镜像功能146
12.5.4 灰度验证容灾系统缓存——闭环设计147
12.6 替换爬虫的新思路148
12.7 总结148
第13章 基于OpenResty的动态限流设计思路150
13.1 常见反向代理限流方案缺点分析150
13.2 动态限流设计思路151
13.3 多维度限流154
13.4 智能感知响应能力动态控速设计方案157
13.5 屏蔽慢请求带来的服务阻塞159
13.6 总结160
第14章 故障复盘161
14.1 复盘前161
14.2 复盘中161
14.3 复盘后164
14.4 自省164
14.5 跨部门分享165
14.6 故障库165
14.7 总结165
容量篇 性能与成本间的平衡
第15章 成本优化169
15.1 成本优化事前准备169
15.1.1 目标的制定和价值体现170
15.1.2 IT成本与人力成本的权衡170
15.1.3 提升对系统的理解171
15.1.4 评估优化前后的数据统计及业务影响171
15.1.5 从用户体验看待成本优化173
15.1.6 梳理业务和资源的关系173
15.2 公有云基础资源优化实践174
15.2.1 成本管理白皮书174
15.2.2 合理化资源使用率177
15.2.3 自建产品和云产品的使用场景优化178
15.2.4 基于业务场景的成本控制179
15.3 总结180
第16章 智能伸缩平台181
16.1 弹性伸缩平台关键路径盘点181
16.2 基础设施建设182
16.2.1 基于Pod的HPA传统模式182
16.2.2 基于Cluster-Autoscaler的Node伸缩184
16.3 基于业务场景的实战189
16.3.1 定时伸缩189
16.3.2 基于预测的弹性伸缩191
16.4 风险控制体系199
16.4.1 动态限流触发规则199
16.4.2 扩容节点失败和业务降级200
16.5 总结200
第17章 容量规划201
17.1 容量规划现状201
17.2 容量规划建设思路202
17.2.1 建设核心202
17.2.2 建设思路203
17.3 应用系统容量规划说明204
17.4 基于巡检模式的容量评估流程205
17.4.1 对流量来源的梳理205
17.4.2 对容量对象的梳理206
17.4.3 收集日常关键性数据207
17.5 对容量规划关注点的梳理210
17.5.1 压力测试210
17.5.2 业务放量212
17.5.3 大促活动213
17.5.4 秒杀业务214
17.5.5 关注运营活动计划214
17.5.6 尖刺限流215
17.6 总结215
第18章 编程能力216
18.1 养成写伪代码的习惯216
18.2 养成管理代码的习惯217
18.3 编程能力分级218
18.4 编程能力更深层的价值探讨219
18.4.1 如何看待PHP短连接问题219
18.4.2 理解Redis和Memcached在业务场景上的区别220
18.4.3 进程、线程、协程在Linux系统中的表现221
18.4.4 探究阻塞和非阻塞、异步和同步在系统中的表现223
18.4.5 共享内存224
18.4.6 尝试一些导致进程崩溃的操作224
18.4.7 学习秒杀系统的业务架构225
18.4.8 给自己的代码做闭环实践226
18.4.9 参与业务开发日常226
18.5 熟悉编程语言特性226
18.6 通过系统分析倒推应用配置问题227
18.6.1 通过access函数发现PHP性能问题227
18.6.2 Java连接池失效228
18.7 总结229
全局视角篇 运维破圈
第19章 开启测试视角233
19.1 测试人员的职责边界233
19.2 压力测试234
19.2.1 压测黑名单思维
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价