- ISBN:9787121454585
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:384
- 出版时间:2023-06-01
- 条形码:9787121454585 ; 978-7-121-45458-5
本书特色
适读人群 :本书适合互联网行业内的运维人员、SRE和DevOps工程师、架构师、技术团队负责人及关注用户体验的相关开发者阅读,也适合掌握了一定的SRE方法论但在实践中无从下手的读者阅读。本书亮点和创新技术实践思路√ SRE性能优化漏斗优化法则:全书用十几个章节介绍相关技术实践,体现了整个法则的收益。√ 标准和规范治理平台的设计思路:是解决技术体系各项规范落地难、长期治理效果差的闭环解决方案。√ HTTP故障降级理论和实践:从电商平台业务中抽象出降级模型,提出了创新的故障降级解决方案,相关思路不局限于解决电商平台业务问题,还可以扩展到其他一些领域(前提是运维人员深刻理解业务)。√ 云原生可观测性开源工具Kindling的介绍及实践价值:针对目前云原生下海量日志分析难、定位问题难等进行的优秀实践。√ 全视角解读运维架构建设中的各种矛盾和破解思路。
内容简介
本书从实践出发,包括了作者参与并主导的3家电商互联网公司架构从0到1的构建经历,从多个角度讲解稳定、性能、效率、成本四大职责落地经验,并结合Mikey金字塔进行了部分创新,很多内容都可以直接复用于实际工作。本书分为7篇,分别是开端篇、监控篇、故障篇、容量篇、全局视角篇、性能篇和扩展篇。 本书适合互联网行业内的运维人员、SRE和DevOps工程师、架构师、技术团队负责人及关注用户体验的相关开发者阅读,也适合掌握了一定的SRE方法论但在实践中无从下手的读者阅读。
目录
开端篇 弱化边界感
第1章 引言3
1.1运维架构和SRE3
1.2理解业务,技术为业务服务5
1.3不设边界6
1.4SRE金字塔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.2Kindling解决方案——关联内核可观测性数据的Trace34
4.3Kindling探针的架构设计理念37
4.4Kindling探针架构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.1URI指纹服务设计73
6.2Nginx日志分析指南76
6.2.1参数白名单76
6.2.2URI的响应时间和HTTP状态监控77
6.2.3URI响应字节数波动分析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.2JumpServer使用的艺术及工单交互96
8.3变更三板斧:运维团队的可监控、可灰度、可回滚实践98
8.3.1案例:云服务器资源伸缩稳定性98
8.3.2案例:CDNOpenResty的变更策略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.1Ngx_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.2IT成本与人力成本的权衡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.2Java连接池失效228
18.7总结229
全局视角篇 运维破圈
第19章 开启测试视角233
19.1测试人员的职责边界233
19.2压力测试234
19.2.1压测黑名单思维235
19.2.2压测利器Wrk235
19.2.3流量镜像工具GoReplay235
19.3自动化测试监控平台设计237
19.3.1“牵一发而动全身”的迭代238
19.3.2OpenDiffy介绍238
19.3.3变更管控的支撑系统OpenDiffy+GoReplay239
19.4破坏性测试探究239
19.5从前端的体验“找碴儿”240
19.5.1基于浏览器特性的服务优化240
19.5.2从图片加载中寻找优化方法241
19.5.3数据埋点的发送频率242
19.5.4域名的使用限制243
19.5.5请求重复性243
19.5.6PageSpeedInsights分析页面的加载243
19.5.7定期的内耗分析245
19.6总结245
第20章 开启用户视角246
20.1内外兼顾246
20.1.1内部用户247
20.1.2外部用户248
20.2建立反馈机制249
20.2.1优化客服反馈机制249
20.2.2与客服合作的案例分享249
20.2.3奖励机制250
20.2.4关注舆情250
20.3产品体验——谷歌SRE的高阶思维251
20.3.1不仅仅是体验251
20.3.2交互烦琐252
20.3.3无人问津252
20.3.4ROI252
20.4防御体系的“误伤”指南253
20.4.1WAF“误伤”253
20.4.2内部风控“误伤”254
20.5关注客户端环境254
20.5.1客户端机型配置254
20.5.2网络255
20.6总结255
第21章 开启前端和App开发人员视角256
21.1概述256
21.2为什么要解决性能问题257
21.3缓存257
21.3.1强缓存257
21.3.2协商缓存259
21.4网络请求261
21.4.1HTTP/2.0261
21.4.2DNS预解析262
21.4.3预先建立连接262
21.4.4服务器应该避免过多重定向263
21.5客户端计算263
21.6预加载265
21.7梳理技术风险265
21.7.1请求阻塞式串行加载266
21.7.2埋点发送过于频繁266
21.7.3弱网下的资源加载降级266
21.7.4拨测266
21.8总结267
第22章 DNS应用场景实践268
22.1利用DNS完成故障转移268
22.2使用HTTPDNS提升访问稳定性271
22.3提升测试、A/B测试等环境的切换效率273
22.4域名反向解析用途实践273
22.5内部DNS系统高可用实践274
22.5.1两次DNS故障275
22.5.2问题和思考276
22.5.3改进措施278
22.5.4配置及验证279
22.5.5监控283
22.6总结284
性能篇 SRE进阶之路
第23章 高并发网关价值探究287
23.1通用功能介绍287
23.2网关中的聚合模式288
23.2.1Lura启示录289
23.2.2APISIX中的batch-requests插件289
23.2.3从GraphQL发现的技术实践思路291
23.3兼顾缓存的网关设计思路293
23.3.1APISIX的proxy-cache插件293
23.3.2利用聚合拼接缓存资源293
23.3.3鉴权和缓存剥离294
23.4总结295
第24章 高性能Varnish缓存系统296
24.1HTTP缓存对后端服务的价值分析296
24.2CDN缓存和Varnish缓存的共存模式298
24.3安装Varnish和所需模块299
24.4配置文件概览300
24.5稳定性建设所依赖的功能300
24.5.1神圣模式300
24.5.2宽限模式——异步缓存更新302
24.5.3更安稳的软清除303
24.6*佳实践304
24.6.1动态缓存时间配置304
24.6.2热Key及秒杀系统的缓存实践305
24.6.3后端服务故障转移306
24.6.4高并发下Varnish启动参数优化307
24.6.5Varnish配置模板优化实践307
24.6.6测试环境缓存系统的干扰事件309
24.7总结309
第25章 SRE漏斗优化法则310
25.1SRE性能优化之漏斗优化法则311
25.2漏斗优化法则的技术栈梳理312
25.2.1减少访问量312
25.2.2减少返回的数据313
25.2.3减少交互次数313
25.2.4降低CPU、内存使用率314
25.2.5提升资源利用率314
25.3总结315
第26章 awesome性能分析工具316
26.1站在巨人的肩膀上工作316
26.1.1系统性能分析常见清单317
26.1.2bcc-tools工具清单319
26.1.3火焰图320
26.2Netdata320
26.3总结321
第27章 性能优化实践锦集322
27.1TIME_WAIT优化方案扩展322
27.2利用Ngx_Lua缩短请求链路323
27.3eBPF在Kubernetes上的应用325
27.3.1kubectl-trace325
27.3.2使用前提325
27.3.3使用优点325
27.3.4使用场景326
27.3.5安装326
27.4善用CDN327
27.4.1静态加速327
27.4.2动态加速328
27.4.3缓存过期保护策略328
27.5记一次中台服务优化实战329
27.5.1寻找优化目标330
27.5.2抽丝剥茧——尝试优化方案331
27.5.3使用gopprof火焰图发现端倪333
27.5.4回顾复盘337
27.6总结337
扩展篇 在团队间搭建桥梁
第28章 业务开发人员视角下的技术风险341
28.1了解业务开发人员342
28.1.1工作内容342
28.1.2废弃十年如一日343
28.1.3重构并非易事343
28.1.4发布前的检查清单344
28.1.5站在巨人的肩膀上编程344
28.1.6拒绝伪需求345
28.2大淘客之旅346
28.2.1对话高层,达成共识346
28.2.2对话业务线负责人347
28.2.3重识目标,各个击破347
28.2.4技术氛围和激励政策348
28.2.5“曲线救国”的技术路线348
28.3总结351
第29章 SRE视角全篇总结352
29.1齐心协力353
29.1.1关键要素353
29.1.2华山论剑353
29.2竞品分析——*后1公里355
29.3故障降级系统——来自监控的沟通艺术355
29.3.1抽象业务形态355
29.3.2抽象监控触发条件357
29.3.3收拢零散性的自愈任务357
29.4重识CMDB价值357
29.5总结358
作者简介
本书主要作者王力,资深技术老兵,《Nginx实战:基于Lua语言的配置、开发与架构详解》和《高性能之道:SRE视角下的运维架构实践》作者。15年互联网从业经验,其中有9年电商互联网开发和运维经验,这期间担任过微拍堂运维专家、阿里技术专家、折800运维架构师等,并有5年主导电商大促活动保障的落地经验,推进过折800、微拍堂两家电商平台运维架构从0到1的建设,精通服务的稳定性建设,精通高并发场景下的性能优化和中间件开发,擅长通过架构设计来优化系统复杂度、降本增效。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
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 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0