奇迹小说
高性能之道: SRE视角下的运维架构实践

高性能之道: SRE视角下的运维架构实践

作者: 王力等

15.07万4人 正在读

已完结现代当代当代文学
作品简介

《高性能之道: SRE视角下的运维架构实践》从实践出发,包括了作者参与并主导的3家电商互联网公司架构从0到1的构建经历,从多个角度讲解稳定、性能、效率、成本四大职责落地经验,并结合Mikey金字塔进行了部分创新,很多内容都可以直接复用于实际工作。本书分为7篇,分别是开端篇、监控篇、故障篇、容量篇、全局视角篇、性能篇和扩展篇。 《高性能之道: SRE视角下的运维架构实践》适合互联网行业内的运维人员、SRE和DevOps工程师、架构师、技术团队负责人及关注用户体验的相关开发者阅读,也适合掌握了一定的SRE方法论但在实践中无从下手的读者阅读。

目录 (404章)
倒序
正文
第1章 引 言1.1 运维架构和SRE1.2 理解业务,技术为业务服务1.3 不设边界1.4 SRE金字塔1.5 总结第2章 重视测试环境和预发布环境2.1 提效和维稳的第一道门槛——测试环境2.1.1 低级错误2.1.2 提效分析2.2 “守门员”——预发布环境2.2.1 低级错误2.2.2 提效分析2.3 两大环境问题根本原因溯源2.4 微拍堂测试环境治理思路介绍2.5 总结监控篇 底层逻辑的艺术第3章 浅谈监控系统设计3.1 梳理监控体系3.2 梳理监控指标3.3 变更监控3.4 准实时系统监控3.5 短时进程追踪工具3.6 全链路监控3.7 商业监控平台的选用建议3.8 监控方式:白盒监控与黑盒监控3.9 从监控数据中总结规律3.10 黄金指标3.11 总结第4章 云原生可观测性开源工具——Kindling4.1 行业现状4.2 Kindling解决方案——关联内核可观测性数据的Trace4.3 Kindling探针的架构设计理念4.4 Kindling探针架构4.5 在线Demo介绍4.6 案例分享4.6.1 安装4.6.2 功能介绍4.6.3 稳定性价值4.7 总结第5章 高阶实战——打造可持续维护的闭环流程5.1 案例:动态观测SQL质量流程设计5.1.1 分析规范难以落地的原因5.1.2 监督与管控流程设计5.1.3 通知和统计5.2 案例:WebP格式图片的规范和落地实践5.2.1 规范无法持续推广5.2.2 成本和用户体验上的双赢5.2.3 计划实施5.2.4 管控机制5.2.5 采集数据信息和数据加工处理5.2.6 巡检平台之规范化监督5.3 案例:管道通信规范化实践5.3.1 我们每天都在使用管道5.3.2 管道示例场景及性能说明5.3.3 如何规范管道使用场景5.4 标准和规范治理平台5.4.1 现状5.4.2 设计思路5.5 总结第6章 挖掘Nginx的监控价值6.1 URI指纹服务设计6.2 Nginx日志分析指南6.2.1 参数白名单6.2.2 URI的响应时间和HTTP状态监控6.2.3 URI响应字节数波动分析6.2.4 查询URL请求的项目6.2.5 注意HTTPS的透传6.2.6 利用Nginx完成动态全链路比例调整6.3 总结故障篇 故障的生命周期第7章 事前治理的方法论7.1 从故障中总结经验7.2 从系统资源层面和日志中巡检异常7.3 从标准和规范中寻找闭环之路7.4 从业务中挖掘基础服务的使用问题7.5 技术风险防控运营成本7.6 总结第8章 变更管控设计思路8.1 变更管控8.1.1 变更对象8.1.2 变更发布8.1.3 变更可灰度8.1.4 变更可回滚8.1.5 变更可监控8.1.6 配置项变更8.1.7 变更管控思路8.2 JumpServer使用的艺术及工单交互8.3 变更三板斧:运维团队的可监控、可灰度、可回滚实践8.3.1 案例:云服务器资源伸缩稳定性8.3.2 案例:CDNOpenResty的变更策略8.4 总结第9章 轮值的设计思路9.1 值班模式探究9.1.1 让开发人员参与其中9.1.2 制定KPI9.1.3 值班人员的边界探讨9.2 值班机器人9.3 提升值班价值——SRE需求池设计9.3.1 结合日常巡检与非值班时间9.3.2 在烦琐的工作中收集需求9.4 总结第10章 故障演练与应急预案10.1 故障演练缘由10.1.1 更好地面对系统规模增长带来的复杂性10.1.2 提升故障的排查速度10.1.3 验证应急预案的正确性10.1.4 验证基础设施的稳定性10.1.5 验证监控感知能力10.1.6 验证应急流程的顺畅度10.2 故障演练流程10.2.1 故障演练场景关键要素10.2.2 故障演练预期10.3 应急预案10.3.1 应急场景标准化10.3.2 梳理应急预案清单10.4 总结第11章 应急响应流程实践11.1 收拢故障上报来源11.1.1 从技术体系内部发现11.1.2 从技术体系外部发现11.2.1 人多力量弱11.2.2 稳定性接口人和岗位权限11.2.3 完善客诉标准化术语11.3 故障噪点治理11.3.1 报警治理11.3.2 设计外部反馈阈值11.3.3 收集第三方抖动事件11.4 控制应急节奏11.4.1 舍小保大11.4.2 “优先止血”,后续定位根本原因11.4.3 及时同步信息,减少信息差11.5 应急“止血”的常见操作11.5.1 代码回滚11.5.2 重启11.5.4 业务降级11.5.5 阻断慢查询11.5.6 网络与运营商11.5.7 重识监控11.6 总结第12章 静态容灾降级系统12.1 荆棘之路12.2 设计之路12.3 架构流程图12.3.1 反向代理系统12.3.2 日志分析系统12.3.3 后台系统——利用URI指纹服务12.3.4 爬虫系统12.3.5 容灾的缓存系统12.3.6 基于时间的版本用途12.3.7 异地容灾12.4 核心代码解说12.4.1 Ngx_Lua应用12.4.2 爬虫和日志分析系统的关系12.4.3 完全容灾和部分容灾功能12.5 静态容灾的智能关闭方案12.5.1 从日志分析系统复制请求12.5.2 利用GoReplay复制流量12.5.3 利用Nginx的mirror镜像功能12.5.4 灰度验证容灾系统缓存——闭环设计12.6 替换爬虫的新思路12.7 总结第13章 基于OpenResty的动态限流设计思路13.1 常见反向代理限流方案缺点分析13.2 动态限流设计思路13.3 多维度限流13.4 智能感知响应能力动态控速设计方案13.5 屏蔽慢请求带来的服务阻塞13.6 总结第14章 故障复盘14.1 复盘前14.2 复盘中14.3 复盘后14.4 自省14.5 跨部门分享14.6 故障库14.7 总结容量篇 性能与成本间的平衡第15章 成本优化15.1 成本优化事前准备15.1.1 目标的制定和价值体现15.1.2 IT成本与人力成本的权衡15.1.3 提升对系统的理解15.1.4 评估优化前后的数据统计及业务影响15.1.5 从用户体验看待成本优化15.1.6 梳理业务和资源的关系15.2 公有云基础资源优化实践15.2.1 成本管理白皮书15.2.2 合理化资源使用率15.2.3 自建产品和云产品的使用场景优化15.2.4 基于业务场景的成本控制15.3 总结第16章 智能伸缩平台16.1 弹性伸缩平台关键路径盘点16.2 基础设施建设16.2.1 基于Pod的HPA传统模式16.2.2 基于Cluster-Autoscaler的Node伸缩16.3 基于业务场景的实战16.3.1 定时伸缩16.3.2 基于预测的弹性伸缩16.4 风险控制体系16.4.1 动态限流触发规则16.4.2 扩容节点失败和业务降级16.5 总结第17章 容量规划17.1 容量规划现状17.2.1 建设核心17.2.2 建设思路17.3 应用系统容量规划说明17.4 基于巡检模式的容量评估流程17.4.1 对流量来源的梳理17.4.2 对容量对象的梳理17.4.3 收集日常关键性数据17.5 对容量规划关注点的梳理17.5.1 压力测试17.5.2 业务放量17.5.3 大促活动17.5.4 秒杀业务17.5.5 关注运营活动计划17.5.6 尖刺限流17.6 总结第18章 编程能力18.1 养成写伪代码的习惯18.2 养成管理代码的习惯18.3 编程能力分级18.4 编程能力更深层的价值探讨18.4.1 如何看待PHP短连接问题18.4.2 理解Redis和Memcached在业务场景上的区别18.4.3 进程、线程、协程在Linux系统中的表现18.4.4 探究阻塞和非阻塞、异步和同步在系统中的表现18.4.5 共享内存18.4.6 尝试一些导致进程崩溃的操作18.4.7 学习秒杀系统的业务架构18.4.8 给自己的代码做闭环实践18.4.9 参与业务开发日常18.5 熟悉编程语言特性18.6 通过系统分析倒推应用配置问题18.6.1 通过access函数发现PHP性能问题18.6.2 Java连接池失效18.7 总结全局视角篇 运维破圈第19章 开启测试视角19.1 测试人员的职责边界19.2 压力测试19.2.1 压测黑名单思维19.2.2 压测利器Wrk19.2.3 流量镜像工具GoReplay19.3 自动化测试监控平台设计19.3.1 “牵一发而动全身”的迭代19.3.2 OpenDiffy介绍19.3.3 变更管控的支撑系统OpenDiffy+GoReplay19.4 破坏性测试探究19.5 从前端的体验“找碴儿”19.5.1 基于浏览器特性的服务优化19.5.2 从图片加载中寻找优化方法19.5.3 数据埋点的发送频率19.5.4 域名的使用限制19.5.5 请求重复性19.5.6 PageSpeedInsights分析页面的加载19.5.7 定期的内耗分析19.6 总结第20章 开启用户视角20.1 内外兼顾20.1.1 内部用户20.1.2 外部用户20.2 建立反馈机制20.2.1 优化客服反馈机制20.2.2 与客服合作的案例分享20.2.3 奖励机制20.2.4 关注舆情20.3 产品体验——谷歌SRE的高阶思维20.3.1 不仅仅是体验20.3.2 交互烦琐20.3.3 无人问津20.3.4 ROI20.4 防御体系的“误伤”指南20.4.1 WAF“误伤”20.4.2 内部风控“误伤”20.5 关注客户端环境20.5.1 客户端机型配置20.5.2 网络20.6 总结第21章 开启前端和App开发人员视角21.1 概述21.2 为什么要解决性能问题21.3 缓存21.3.1 强缓存21.3.2 协商缓存21.4 网络请求21.4.1 HTTP/2.021.4.2 DNS预解析21.4.3 预先建立连接21.4.4 服务器应该避免过多重定向21.5 客户端计算21.6 预加载21.7 梳理技术风险21.7.1 请求阻塞式串行加载21.7.2 埋点发送过于频繁21.7.3 弱网下的资源加载降级21.7.4 拨测21.8 总结第22章 DNS应用场景实践22.1 利用DNS完成故障转移22.2 使用HTTPDNS提升访问稳定性22.3 提升测试、A/B测试等环境的切换效率22.4 域名反向解析用途实践22.5 内部DNS系统高可用实践22.5.1 两次DNS故障22.5.2 问题和思考22.5.3 改进措施22.5.4 配置及验证22.5.5 监控22.6 总结性能篇 SRE进阶之路第23章 高并发网关价值探究23.1 通用功能介绍23.2 网关中的聚合模式23.2.1 Lura启示录23.2.2 APISIX中的batch-requests插件23.2.3 从GraphQL发现的技术实践思路23.3 兼顾缓存的网关设计思路23.3.1 APISIX的proxy-cache插件23.3.2 利用聚合拼接缓存资源23.3.3 鉴权和缓存剥离23.4 总结第24章 高性能Varnish缓存系统24.1 HTTP缓存对后端服务的价值分析24.2 CDN缓存和Varnish缓存的共存模式24.3 安装Varnish和所需模块24.4 配置文件概览24.5 稳定性建设所依赖的功能24.5.1 神圣模式24.5.2 宽限模式——异步缓存更新24.5.3 更安稳的软清除24.6 最佳实践24.6.1 动态缓存时间配置24.6.2 热Key及秒杀系统的缓存实践24.6.3 后端服务故障转移24.6.4 高并发下Varnish启动参数优化24.6.5 Varnish配置模板优化实践24.6.6 测试环境缓存系统的干扰事件24.7 总结第25章 SRE漏斗优化法则25.1 SRE性能优化之漏斗优化法则25.2 漏斗优化法则的技术栈梳理25.2.1 减少访问量25.2.2 减少返回的数据25.2.3 减少交互次数25.2.4 降低CPU、内存使用率25.2.5 提升资源利用率25.3 总结第26章 awesome性能分析工具26.1 站在巨人的肩膀上工作26.1.1 系统性能分析常见清单26.1.2 bcc-tools工具清单26.1.3 火焰图26.2 Netdata26.3 总结第27章 性能优化实践锦集27.1 TIME_WAIT优化方案扩展27.2 利用Ngx_Lua缩短请求链路27.3 eBPF在Kubernetes上的应用27.3.1 kubectl-trace27.3.2 使用前提27.3.3 使用优点27.3.4 使用场景27.3.5 安装27.4 善用CDN27.4.1 静态加速27.4.2 动态加速27.4.3 缓存过期保护策略27.5 记一次中台服务优化实战27.5.1 寻找优化目标27.5.2 抽丝剥茧——尝试优化方案27.5.3 使用gopprof火焰图发现端倪27.5.4 回顾复盘27.6 总结扩展篇 在团队间搭建桥梁第28章 业务开发人员视角下的技术风险28.1 了解业务开发人员28.1.1 工作内容28.1.2 废弃十年如一日28.1.3 重构并非易事28.1.4 发布前的检查清单28.1.5 站在巨人的肩膀上编程28.1.6 拒绝伪需求28.2 大淘客之旅28.2.1 对话高层,达成共识28.2.2 对话业务线负责人28.2.3 重识目标,各个击破28.2.4 技术氛围和激励政策28.2.5 “曲线救国”的技术路线28.3 总结第29章 SRE视角全篇总结29.1 齐心协力29.1.1 关键要素29.1.2 华山论剑29.2 竞品分析——最后1公里29.3 故障降级系统——来自监控的沟通艺术29.3.1 抽象业务形态29.3.2 抽象监控触发条件29.3.3 收拢零散性的自愈任务29.4 重识CMDB价值29.5 总结
精选推荐
领导力法则

领导力法则

[中国纺织出版社]

陆禹萌

已完结当代文学

销售心理学

销售心理学

[中国纺织出版社]

兰华

已完结当代文学

销售就是玩转情商

销售就是玩转情商

[中国纺织出版社]

王威

已完结当代文学

销售员情商实战训练

销售员情商实战训练

成功的销售需要高智商,更需要高情商。一个销售员的销售业绩,往往与他的情商成正比。本书从十个方面详细讲述了有效运用情商,提高销售业绩的方法和技巧。通过实际销售案例和销售心理学理论指导,以及实战点拨和情商拓展训练,帮助读者全方位、快速提高情商。故事性、多版块、碎片化的内容设置,有效降低读者阅读疲劳,提高阅读兴趣,不论是奔波在路上的销售小白,还是带领团队奋勇向前的销售经理,都能从中找到适合自己的销售软技巧。

刘军

已完结当代文学

让未来的你,感谢现在勇敢的自己

让未来的你,感谢现在勇敢的自己

[中国纺织出版社]

王介威

已完结当代文学

行为心理学:华生的实用心理学课

行为心理学:华生的实用心理学课

[中国纺织出版社]

(美)约翰·华生著.倪彩

已完结当代文学

行为心理学入门(完全图解版)

行为心理学入门(完全图解版)

行为心理学入门(完全图解版)是以作者多来年的心理辅导和咨询数据为素材,对现实生活中的行为心理学应用进行了形象、深入、全面的论述和解读。本书与日本心理学图解书形式相同,浅显易读,有趣又益。

武莉

已完结当代文学

自卑与超越

自卑与超越

《自卑与(全译插图典藏版)》是个体心理学研究领域的著作,也是人本主义心理学先驱阿尔弗雷德·阿德勒的很好著作。阿德勒的学说以“自卑感”与“创造性自我”为中心,并强调“社会意识”。全书立足个人心理学的观点,从教育、家庭、婚姻、伦理、社交等多个领域,以大量的实例为论述基础,阐明了人生意义的真谛,帮助人们克服自卑、不断超自己,正确对待职业,正确理解社会与性。本书直接促进了亲子教育、人格培养、婚姻与爱情、职业生涯、家庭建设、人际关系等诸多领域的长足发展,成为人们了解心理学的经典读物。

(奥)阿尔弗雷德·阿德勒

已完结当代文学

自制力:道理我都懂,为什么就是过不好人生

自制力:道理我都懂,为什么就是过不好人生

[中国纺织出版社]

邱开杰

已完结当代文学