SRE:Google运维解密

SRE:Google运维解密
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (贝特西·拜尔) , , , ,
2016-10
版次: 1
ISBN: 9787121297267
定价: 108.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 480页
正文语种: 简体中文
原版书名: Site reliability engineering: how google runs production systems
636人买过
  •   大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?在《SRE:Google运维解密》中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存zui大的软件系统。通过阅读《SRE:Google运维解密》,读者可以学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。
      任何一个想要创建、扩展大规模集成系统的人都应该阅读《SRE:Google运维解密》。《SRE:Google运维解密》针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
      BetsyBeyer,是Google纽约负责SRE的一名技术文档作家。她之前曾为遍布全球的Google数据中心与MountainView硬件运维团队编写文档。在搬到纽约之前,Betsy是Stanford大学技术性写作课程的讲师。她曾经学习国际关系与英文文学,并在Stanford和Tulane获得学历。

      ChrisJones,是GoogleAppEngine的一名SRE。GoogleAppEngine是一个PaaS服务,每天处理超过280亿个请求。他的办公室在旧金山,他之前的工作包括Google广告统计、数据仓库,以及用户支持系统的维护。在之前,Chris曾经在学校IT行业任职,同时参与过竞选数据分析,以及一些BSD内核的修改。他有计算机工程、经济学,以及技术政策学的学位。同时他也是一名有执照的职业工程师。

      JenniferPetoff,是GoogleSRE团队的一名项目经理,工作地点在都柏林,爱尔兰。她曾经负责管理大型全球项目,包括:科学研究、工程、人力资源,以及广告等。Jennifer在加入Google之前,曾在化工行业任职八年。她获得了Stanford大学的化学博士与学士学位,同时她还拥有Rochester大学的心理学学位。

      NiallMurphy,是Google爱尔兰团队广告SRE的负责人。他拥有20年互联网行业经验,目前是INEX(爱尔兰网络互联枢纽)的主席。他曾经写作以及参与写作很多科技文章与书籍,包括O’Reilly出版的IPv6NetworkAdministration,以及很多RFC。他目前在参与书写爱尔兰互联网发展史。他拥有计算机科学、数学,以及诗歌学的学历(他当时一定是想错了!)。他目前与妻子和两个儿子居住在都柏林。

      孙宇聪,前GoogleSRE(2007-2015),山景城总部,曾参与构建运维Youtube全球CDN网络,2008年奥运会直播项目,构建维护海量视频编码传输系统。后参与Google内部云平台运维工作,负责运维全球百万级别服务器集群,以及Borg、Omega等大规模集群理系统。2015年加入Coding,任CTO一职。回国后,积极推动国内容器化运维架构升级。目前是开放运维联盟之应用运维规范制定组,高可用运维规范制定者。
    前言 xxxi
    序言 xxxv
    第Ⅰ部分 概览
    第1章 介绍 2
    系统管理员模式 2
    Google的解决之道:SRE 4
    SRE方法论 6
    确保长期关注研发工作 6
    在保障服务SLO的前提下最大化迭代速度 7
    监控系统 8
    应急事件处理 8
    变更管理 9
    需求预测和容量规划 9
    资源部署 10
    效率与性能 10
    小结 10
    第2章 Google生产环境:SRE视角 11
    硬件 11
    管理物理服务器的系统管理软件 13
    管理物理服务器 13
    存储 14
    网络 15
    其他系统软件 16
    分布式锁服务 16
    监控与警报系统 16
    软件基础设施 17
    研发环境 17
    莎士比亚搜索:一个示范服务 18
    用户请求的处理过程 18
    任务和数据的组织方式 19
    第Ⅱ部分 指导思想
    第3章 拥抱风险 23
    管理风险 23
    度量服务的风险 24
    服务的风险容忍度 25
    辨别消费者服务的风险容忍度 26
    基础设施服务的风险容忍度 28
    使用错误预算的目的 30
    错误预算的构建过程 31
    好处 32
    第4章 服务质量目标 34
    服务质量术语 34
    指标 34
    目标 35
    协议 36
    指标在实践中的应用 37
    运维人员和最终用户各关心什么 37
    指标的收集 37
    汇总 38
    指标的标准化 39
    目标在实践中的应用 39
    目标的定义 40
    目标的选择 40
    控制手段 42
    SLO可以建立用户预期 42
    协议在实践中的应用 43
    第5章 减少琐事 44
    琐事的定义 44
    为什么琐事越少越好 45
    什么算作工程工作 46
    琐事繁多是不是一定不好 47
    小结 48
    第6章 分布式系统的监控 49
    术语定义 49
    为什么要监控 50
    对监控系统设置合理预期 51
    现象与原因 52
    黑盒监控与白盒监控 53
    4个黄金指标 53
    关于长尾问题 54
    度量指标时采用合适的精度 55
    简化,直到不能再简化 55
    将上述理念整合起来 56
    监控系统的长期维护 57
    BigtableSRE:警报过多的案例 57
    Gmail:可预知的、可脚本化的人工干预 58
    长跑 59
    小结 59
    第7章 Google的自动化系统的演进 60
    自动化的价值 60
    一致性 60
    平台性 61
    修复速度更快 61
    行动速度更快 62
    节省时间 62
    自动化对GoogleSRE的价值 62
    自动化的应用案例 63
    GoogleSRE的自动化使用案例 63
    自动化分类的层次结构 64
    让自己脱离工作:自动化所有的东西 66
    舒缓疼痛:将自动化应用到集群上线中 67
    使用Prodtest检测不一致情况 68
    幂等地解决不一致情况 69
    专业化倾向 71
    以服务为导向的集群上线流程 72
    Borg:仓库规模计算机的诞生 73
    可靠性是最基本的功能 74
    建议 75
    第8章 发布工程 76
    发布工程师的角色 76
    发布工程哲学 77
    自服务模型 77
    追求速度 77
    密闭性 77
    强调策略和流程 78
    持续构建与部署 78
    构建 78
    分支 79
    测试 79
    打包 79
    Rapid系统 80
    部署 81
    配置管理 81
    小结 82
    不仅仅只对Google有用 83
    一开始就进行发布工程 83
    第9章 简单化 85
    系统的稳定性与灵活性 85
    乏味是一种美德 86
    我绝对不放弃我的代码 86
    “负代码行”作为一个指标 87
    最小API 87
    模块化 87
    发布的简单化 88
    小结 88
    第Ⅲ部分 具体实践
    第10章 基于时间序列数据进行有效报警 93
    Borgmon的起源 94
    应用软件的监控埋点 95
    监控指标的收集 96
    时间序列数据的存储 97
    标签与向量 98
    Borg规则计算 99
    报警 104
    监控系统的分片机制 105
    黑盒监控 106
    配置文件的维护 106
    十年之后 108
    第11章 on-call轮值 109
    介绍 109
    on-call工程师的一天 110
    on-call工作平衡 111
    数量上保持平衡 111
    质量上保持平衡 111
    补贴措施 112
    安全感 112
    避免运维压力过大 114
    运维压力过大 114
    奸诈的敌人—运维压力不够 115
    小结 115
    第12章 有效的故障排查手段 116
    理论 117
    实践 119
    故障报告 119
    定位 119
    检查 120
    诊断 122
    测试和修复 124
    神奇的负面结果 125
    治愈 126
    案例分析 127
    使故障排查更简单 130
    小结 130
    第13章 紧急事件响应 131
    当系统出现问题时怎么办 131
    测试导致的紧急事故 132
    细节 132
    响应 132
    事后总结 132
    变更部署带来的紧急事故 133
    细节 133
    事故响应 134
    事后总结 134
    流程导致的严重事故 135
    细节 135
    灾难响应 136
    事后总结 136
    所有的问题都有解决方案 137
    向过去学习,而不是重复它 138
    为事故保留记录 138
    提出那些大的,甚至不可能的问题:假如…… 138
    鼓励主动测试 138
    小结 138
    第14章 紧急事故管理 140
    无流程管理的紧急事故 140
    对这次无流程管理的事故的剖析 141
    过于关注技术问题 141
    沟通不畅 141
    不请自来 142
    紧急事故的流程管理要素 142
    嵌套式职责分离 142
    控制中心 143
    实时事故状态文档 143
    明确公开的职责交接 143
    一次流程管理良好的事故 144
    什么时候对外宣布事故 144
    小结 145
    第15章 事后总结:从失败中学习 146
    Google的事后总结哲学 146
    协作和知识共享 148
    建立事后总结文化 149
    小结以及不断优化 151
    第16章 跟踪故障 152
    Escalator 152
    Outalator 153
    聚合 154
    加标签 155
    分析 155
    未预料到的好处 156
    第17章 测试可靠性 157
    软件测试的类型 158
    传统测试 159
    生产测试 160
    创造一个构建和测试环境 163
    大规模测试 165
    测试大规模使用的工具 166
    针对灾难的测试 167
    对速度的渴求 168
    发布到生产环境 170
    允许测试失败 170
    集成 172
    生产环境探针 173
    小结 175
    第18章 SRE部门中的软件工程实践 176
    为什么软件工程项目对SRE很重要 176
    Auxon案例分析:项目背景和要解决的问题 177
    传统的容量规划方法 177
    解决方案:基于意图的容量规划 179
    基于意图的容量规划 180
    表达产品意图的先导条件 181
    Auxon简介 182
    需求和实现:成功和不足 183
    提升了解程度,推进采用率 185
    团队内部组成 187
    在SRE团队中培养软件工程风气 187
    在SRE团队中建立起软件工程氛围:招聘与开发时间 188
    做到这一点 189
    小结 190
    第19章 前端服务器的负载均衡 191
    有时候硬件并不能解决问题 191
    使用DNS进行负载均衡 192
    负载均衡:虚拟IP 194
    第20章 数据中心内部的负载均衡系统 197
    理想情况 198
    识别异常任务:流速控制和跛脚鸭任务 199
    异常任务的简单应对办法:流速控制 199
    一个可靠的识别异常任务的方法:跛脚鸭状态 200
    利用划分子集限制连接池大小 201
    选择合适的子集 201
    子集选择算法一:随机选择 202
    子集选择算法二:确定性算法 204
    负载均衡策略 206
    简单轮询算法 206
    最闲轮询策略 209
    加权轮询策略 210
    第21章 应对过载 212
    QPS陷阱 213
    给每个用户设置限制 213
    客户端侧的节流机制 214
    重要性 216
    资源利用率信号 217
    处理过载错误 217
    决定何时重试 218
    连接造成的负载 220
    小结 221
    第22章 处理连锁故障 223
    连锁故障产生的原因和如何从设计上避免 224
    服务器过载 224
    资源耗尽 225
    服务不可用 228
    防止软件服务器过载 228
    队列管理 229
    流量抛弃和优雅降级 230
    重试 231
    请求延迟和截止时间 234
    慢启动和冷缓存 236
    保持调用栈永远向下 238
    连锁故障的触发条件 238
    进程崩溃 239
    进程更新 239
    新的发布 239
    自然增长 239
    计划中或计划外的不可用 239
    连锁故障的测试 240
    测试直到出现故障,还要继续测试 240
    测试最常用的客户端 241
    测试非关键性后端 242
    解决连锁故障的立即步骤 242
    增加资源 242
    停止健康检查导致的任务死亡 242
    重启软件服务器 242
    丢弃流量 243
    进入降级模式 243
    消除批处理负载 244
    消除有害的流量 244
    小结 244
    第23章 管理关键状态:利用分布式共识来提高可靠性 246
    使用共识系统的动力:分布式系统协调失败 248
    案例1:脑裂问题 249
    案例2:需要人工干预的灾备切换 249
    案例3:有问题的小组成员算法 249
    分布式共识是如何工作的 250
    Paxos概要:协议示例 251
    分布式共识的系统架构模式 251
    可靠的复制状态机 252
    可靠的复制数据存储和配置存储 252
    使用领头人选举机制实现高可用的处理系统 253
    分布式协调和锁服务 253
    可靠的分布式队列和消息传递 254
    分布式共识系统的性能问题 255
    复合式Paxos:消息流过程详解 257
    应对大量的读操作 258
    法定租约 259
    分布式共识系统的性能与网络延迟 259
    快速Paxos协议:性能优化 260
    稳定的领头人机制 261
    批处理 262
    磁盘访问 262
    分布式共识系统的部署 263
    副本的数量 263
    副本的位置 265
    容量规划和负载均衡 266
    对分布式共识系统的监控 270
    小结 272
    第24章 分布式周期性任务系统 273
    Cron 273
    介绍 273
    可靠性 274
    Cron任务和幂等性 274
    大规模Cron系统 275
    对基础设施的扩展 275
    对需求的扩展 276
    GoogleCron系统的构建过程 277
    跟踪Cron任务的状态 277
    Paxos协议的使用 277
    领头人角色和追随者角色 278
    保存状态 281
    运维大型Cron系统 282
    小结 283
    第25章 数据处理流水线 284
    流水线设计模式的起源 284
    简单流水线设计模式与大数据 284
    周期性流水线模式的挑战 285
    工作分发不均造成的问题 285
    分布式环境中周期性数据流水线的缺点 286
    监控周期性流水线的问题 287
    惊群效应 287
    摩尔负载模式 288
    GoogleWorkflow简介 289
    Workflow是模型—视图—控制器(MVC)模式 290
    Workflow中的执行阶段 291
    Workflow正确性保障 291
    保障业务的持续性 292
    小结 294
    第26章 数据完整性:读写一致 295
    ……
    第27章 可靠地进行产品的大规模发布 322
    ……
    第Ⅳ部分 管理
    第28章 迅速培养SRE加入on-call 341
    ……
    第29章 处理中断性任务 355
    ……
    第30章 通过嵌入SRE的方式帮助团队从运维过载中恢复 363
    ……
    第31章 SRE与其他团队的沟通与协作 370
    ……
    第32章 SRE参与模式的演进历程 383
    ……
    第Ⅴ部分 结束语
    第33章 其他行业的实践经验 398
    ……
    第34章 结语 408
    附录A 系统可用性 411
    附录B 生产环境运维过程中的最佳实践 412
    附录C 事故状态文档示范 417
    附录D 事后总结示范 419
    附录E 发布协调检查列表 423
    附录F 生产环境会议记录示范 425
    参考文献 427
    索引 439
  • 内容简介:
      大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?在《SRE:Google运维解密》中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存zui大的软件系统。通过阅读《SRE:Google运维解密》,读者可以学习到Google工程师在提高系统部署规模、改进可靠性和资源利用效率方面的指导思想与具体实践——这些都是可以立即直接应用的宝贵经验。
      任何一个想要创建、扩展大规模集成系统的人都应该阅读《SRE:Google运维解密》。《SRE:Google运维解密》针对如何构建一个可长期维护的系统提供了非常宝贵的实践经验。
  • 作者简介:
      BetsyBeyer,是Google纽约负责SRE的一名技术文档作家。她之前曾为遍布全球的Google数据中心与MountainView硬件运维团队编写文档。在搬到纽约之前,Betsy是Stanford大学技术性写作课程的讲师。她曾经学习国际关系与英文文学,并在Stanford和Tulane获得学历。

      ChrisJones,是GoogleAppEngine的一名SRE。GoogleAppEngine是一个PaaS服务,每天处理超过280亿个请求。他的办公室在旧金山,他之前的工作包括Google广告统计、数据仓库,以及用户支持系统的维护。在之前,Chris曾经在学校IT行业任职,同时参与过竞选数据分析,以及一些BSD内核的修改。他有计算机工程、经济学,以及技术政策学的学位。同时他也是一名有执照的职业工程师。

      JenniferPetoff,是GoogleSRE团队的一名项目经理,工作地点在都柏林,爱尔兰。她曾经负责管理大型全球项目,包括:科学研究、工程、人力资源,以及广告等。Jennifer在加入Google之前,曾在化工行业任职八年。她获得了Stanford大学的化学博士与学士学位,同时她还拥有Rochester大学的心理学学位。

      NiallMurphy,是Google爱尔兰团队广告SRE的负责人。他拥有20年互联网行业经验,目前是INEX(爱尔兰网络互联枢纽)的主席。他曾经写作以及参与写作很多科技文章与书籍,包括O’Reilly出版的IPv6NetworkAdministration,以及很多RFC。他目前在参与书写爱尔兰互联网发展史。他拥有计算机科学、数学,以及诗歌学的学历(他当时一定是想错了!)。他目前与妻子和两个儿子居住在都柏林。

      孙宇聪,前GoogleSRE(2007-2015),山景城总部,曾参与构建运维Youtube全球CDN网络,2008年奥运会直播项目,构建维护海量视频编码传输系统。后参与Google内部云平台运维工作,负责运维全球百万级别服务器集群,以及Borg、Omega等大规模集群理系统。2015年加入Coding,任CTO一职。回国后,积极推动国内容器化运维架构升级。目前是开放运维联盟之应用运维规范制定组,高可用运维规范制定者。
  • 目录:
    前言 xxxi
    序言 xxxv
    第Ⅰ部分 概览
    第1章 介绍 2
    系统管理员模式 2
    Google的解决之道:SRE 4
    SRE方法论 6
    确保长期关注研发工作 6
    在保障服务SLO的前提下最大化迭代速度 7
    监控系统 8
    应急事件处理 8
    变更管理 9
    需求预测和容量规划 9
    资源部署 10
    效率与性能 10
    小结 10
    第2章 Google生产环境:SRE视角 11
    硬件 11
    管理物理服务器的系统管理软件 13
    管理物理服务器 13
    存储 14
    网络 15
    其他系统软件 16
    分布式锁服务 16
    监控与警报系统 16
    软件基础设施 17
    研发环境 17
    莎士比亚搜索:一个示范服务 18
    用户请求的处理过程 18
    任务和数据的组织方式 19
    第Ⅱ部分 指导思想
    第3章 拥抱风险 23
    管理风险 23
    度量服务的风险 24
    服务的风险容忍度 25
    辨别消费者服务的风险容忍度 26
    基础设施服务的风险容忍度 28
    使用错误预算的目的 30
    错误预算的构建过程 31
    好处 32
    第4章 服务质量目标 34
    服务质量术语 34
    指标 34
    目标 35
    协议 36
    指标在实践中的应用 37
    运维人员和最终用户各关心什么 37
    指标的收集 37
    汇总 38
    指标的标准化 39
    目标在实践中的应用 39
    目标的定义 40
    目标的选择 40
    控制手段 42
    SLO可以建立用户预期 42
    协议在实践中的应用 43
    第5章 减少琐事 44
    琐事的定义 44
    为什么琐事越少越好 45
    什么算作工程工作 46
    琐事繁多是不是一定不好 47
    小结 48
    第6章 分布式系统的监控 49
    术语定义 49
    为什么要监控 50
    对监控系统设置合理预期 51
    现象与原因 52
    黑盒监控与白盒监控 53
    4个黄金指标 53
    关于长尾问题 54
    度量指标时采用合适的精度 55
    简化,直到不能再简化 55
    将上述理念整合起来 56
    监控系统的长期维护 57
    BigtableSRE:警报过多的案例 57
    Gmail:可预知的、可脚本化的人工干预 58
    长跑 59
    小结 59
    第7章 Google的自动化系统的演进 60
    自动化的价值 60
    一致性 60
    平台性 61
    修复速度更快 61
    行动速度更快 62
    节省时间 62
    自动化对GoogleSRE的价值 62
    自动化的应用案例 63
    GoogleSRE的自动化使用案例 63
    自动化分类的层次结构 64
    让自己脱离工作:自动化所有的东西 66
    舒缓疼痛:将自动化应用到集群上线中 67
    使用Prodtest检测不一致情况 68
    幂等地解决不一致情况 69
    专业化倾向 71
    以服务为导向的集群上线流程 72
    Borg:仓库规模计算机的诞生 73
    可靠性是最基本的功能 74
    建议 75
    第8章 发布工程 76
    发布工程师的角色 76
    发布工程哲学 77
    自服务模型 77
    追求速度 77
    密闭性 77
    强调策略和流程 78
    持续构建与部署 78
    构建 78
    分支 79
    测试 79
    打包 79
    Rapid系统 80
    部署 81
    配置管理 81
    小结 82
    不仅仅只对Google有用 83
    一开始就进行发布工程 83
    第9章 简单化 85
    系统的稳定性与灵活性 85
    乏味是一种美德 86
    我绝对不放弃我的代码 86
    “负代码行”作为一个指标 87
    最小API 87
    模块化 87
    发布的简单化 88
    小结 88
    第Ⅲ部分 具体实践
    第10章 基于时间序列数据进行有效报警 93
    Borgmon的起源 94
    应用软件的监控埋点 95
    监控指标的收集 96
    时间序列数据的存储 97
    标签与向量 98
    Borg规则计算 99
    报警 104
    监控系统的分片机制 105
    黑盒监控 106
    配置文件的维护 106
    十年之后 108
    第11章 on-call轮值 109
    介绍 109
    on-call工程师的一天 110
    on-call工作平衡 111
    数量上保持平衡 111
    质量上保持平衡 111
    补贴措施 112
    安全感 112
    避免运维压力过大 114
    运维压力过大 114
    奸诈的敌人—运维压力不够 115
    小结 115
    第12章 有效的故障排查手段 116
    理论 117
    实践 119
    故障报告 119
    定位 119
    检查 120
    诊断 122
    测试和修复 124
    神奇的负面结果 125
    治愈 126
    案例分析 127
    使故障排查更简单 130
    小结 130
    第13章 紧急事件响应 131
    当系统出现问题时怎么办 131
    测试导致的紧急事故 132
    细节 132
    响应 132
    事后总结 132
    变更部署带来的紧急事故 133
    细节 133
    事故响应 134
    事后总结 134
    流程导致的严重事故 135
    细节 135
    灾难响应 136
    事后总结 136
    所有的问题都有解决方案 137
    向过去学习,而不是重复它 138
    为事故保留记录 138
    提出那些大的,甚至不可能的问题:假如…… 138
    鼓励主动测试 138
    小结 138
    第14章 紧急事故管理 140
    无流程管理的紧急事故 140
    对这次无流程管理的事故的剖析 141
    过于关注技术问题 141
    沟通不畅 141
    不请自来 142
    紧急事故的流程管理要素 142
    嵌套式职责分离 142
    控制中心 143
    实时事故状态文档 143
    明确公开的职责交接 143
    一次流程管理良好的事故 144
    什么时候对外宣布事故 144
    小结 145
    第15章 事后总结:从失败中学习 146
    Google的事后总结哲学 146
    协作和知识共享 148
    建立事后总结文化 149
    小结以及不断优化 151
    第16章 跟踪故障 152
    Escalator 152
    Outalator 153
    聚合 154
    加标签 155
    分析 155
    未预料到的好处 156
    第17章 测试可靠性 157
    软件测试的类型 158
    传统测试 159
    生产测试 160
    创造一个构建和测试环境 163
    大规模测试 165
    测试大规模使用的工具 166
    针对灾难的测试 167
    对速度的渴求 168
    发布到生产环境 170
    允许测试失败 170
    集成 172
    生产环境探针 173
    小结 175
    第18章 SRE部门中的软件工程实践 176
    为什么软件工程项目对SRE很重要 176
    Auxon案例分析:项目背景和要解决的问题 177
    传统的容量规划方法 177
    解决方案:基于意图的容量规划 179
    基于意图的容量规划 180
    表达产品意图的先导条件 181
    Auxon简介 182
    需求和实现:成功和不足 183
    提升了解程度,推进采用率 185
    团队内部组成 187
    在SRE团队中培养软件工程风气 187
    在SRE团队中建立起软件工程氛围:招聘与开发时间 188
    做到这一点 189
    小结 190
    第19章 前端服务器的负载均衡 191
    有时候硬件并不能解决问题 191
    使用DNS进行负载均衡 192
    负载均衡:虚拟IP 194
    第20章 数据中心内部的负载均衡系统 197
    理想情况 198
    识别异常任务:流速控制和跛脚鸭任务 199
    异常任务的简单应对办法:流速控制 199
    一个可靠的识别异常任务的方法:跛脚鸭状态 200
    利用划分子集限制连接池大小 201
    选择合适的子集 201
    子集选择算法一:随机选择 202
    子集选择算法二:确定性算法 204
    负载均衡策略 206
    简单轮询算法 206
    最闲轮询策略 209
    加权轮询策略 210
    第21章 应对过载 212
    QPS陷阱 213
    给每个用户设置限制 213
    客户端侧的节流机制 214
    重要性 216
    资源利用率信号 217
    处理过载错误 217
    决定何时重试 218
    连接造成的负载 220
    小结 221
    第22章 处理连锁故障 223
    连锁故障产生的原因和如何从设计上避免 224
    服务器过载 224
    资源耗尽 225
    服务不可用 228
    防止软件服务器过载 228
    队列管理 229
    流量抛弃和优雅降级 230
    重试 231
    请求延迟和截止时间 234
    慢启动和冷缓存 236
    保持调用栈永远向下 238
    连锁故障的触发条件 238
    进程崩溃 239
    进程更新 239
    新的发布 239
    自然增长 239
    计划中或计划外的不可用 239
    连锁故障的测试 240
    测试直到出现故障,还要继续测试 240
    测试最常用的客户端 241
    测试非关键性后端 242
    解决连锁故障的立即步骤 242
    增加资源 242
    停止健康检查导致的任务死亡 242
    重启软件服务器 242
    丢弃流量 243
    进入降级模式 243
    消除批处理负载 244
    消除有害的流量 244
    小结 244
    第23章 管理关键状态:利用分布式共识来提高可靠性 246
    使用共识系统的动力:分布式系统协调失败 248
    案例1:脑裂问题 249
    案例2:需要人工干预的灾备切换 249
    案例3:有问题的小组成员算法 249
    分布式共识是如何工作的 250
    Paxos概要:协议示例 251
    分布式共识的系统架构模式 251
    可靠的复制状态机 252
    可靠的复制数据存储和配置存储 252
    使用领头人选举机制实现高可用的处理系统 253
    分布式协调和锁服务 253
    可靠的分布式队列和消息传递 254
    分布式共识系统的性能问题 255
    复合式Paxos:消息流过程详解 257
    应对大量的读操作 258
    法定租约 259
    分布式共识系统的性能与网络延迟 259
    快速Paxos协议:性能优化 260
    稳定的领头人机制 261
    批处理 262
    磁盘访问 262
    分布式共识系统的部署 263
    副本的数量 263
    副本的位置 265
    容量规划和负载均衡 266
    对分布式共识系统的监控 270
    小结 272
    第24章 分布式周期性任务系统 273
    Cron 273
    介绍 273
    可靠性 274
    Cron任务和幂等性 274
    大规模Cron系统 275
    对基础设施的扩展 275
    对需求的扩展 276
    GoogleCron系统的构建过程 277
    跟踪Cron任务的状态 277
    Paxos协议的使用 277
    领头人角色和追随者角色 278
    保存状态 281
    运维大型Cron系统 282
    小结 283
    第25章 数据处理流水线 284
    流水线设计模式的起源 284
    简单流水线设计模式与大数据 284
    周期性流水线模式的挑战 285
    工作分发不均造成的问题 285
    分布式环境中周期性数据流水线的缺点 286
    监控周期性流水线的问题 287
    惊群效应 287
    摩尔负载模式 288
    GoogleWorkflow简介 289
    Workflow是模型—视图—控制器(MVC)模式 290
    Workflow中的执行阶段 291
    Workflow正确性保障 291
    保障业务的持续性 292
    小结 294
    第26章 数据完整性:读写一致 295
    ……
    第27章 可靠地进行产品的大规模发布 322
    ……
    第Ⅳ部分 管理
    第28章 迅速培养SRE加入on-call 341
    ……
    第29章 处理中断性任务 355
    ……
    第30章 通过嵌入SRE的方式帮助团队从运维过载中恢复 363
    ……
    第31章 SRE与其他团队的沟通与协作 370
    ……
    第32章 SRE参与模式的演进历程 383
    ……
    第Ⅴ部分 结束语
    第33章 其他行业的实践经验 398
    ……
    第34章 结语 408
    附录A 系统可用性 411
    附录B 生产环境运维过程中的最佳实践 412
    附录C 事故状态文档示范 417
    附录D 事后总结示范 419
    附录E 发布协调检查列表 423
    附录F 生产环境会议记录示范 425
    参考文献 427
    索引 439
查看详情
12
相关图书 / 更多
SRE:Google运维解密
SRE工程师应知应会97件事
[加拿大]埃米尔 斯托拉尔斯基(Emil Stolarsky);[加拿大]詹姆 吴(Jaime Woo)
SRE:Google运维解密
SRE原理与实践:构建高可靠性互联网应用
张观石 著
SRE:Google运维解密
SRE运维之道
[美]戴维·N.布兰克-埃德尔曼;胡志飞;蒋永清
SRE:Google运维解密
SRE生存指南:系统中断响应与正常运行时间最大化
[美]纳特韦尔奇(NatWelch) 著;冯文辉 译
SRE:Google运维解密
SRE实战(影印版)
[美]纳特·韦尔奇(Nat Welch)
您可能感兴趣 / 更多
SRE:Google运维解密
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
SRE:Google运维解密
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
SRE:Google运维解密
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
SRE:Google运维解密
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
SRE:Google运维解密
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
SRE:Google运维解密
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
SRE:Google运维解密
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
SRE:Google运维解密
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
SRE:Google运维解密
最后一章
[美]厄尼·派尔
SRE:Google运维解密
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
SRE:Google运维解密
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
SRE:Google运维解密
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译