![]()
内容推荐 你的网络能否经受住毁灭性故障的考验?一场事故会让你的日常运营停止吗?混沌工程可以模拟基础设施中断、组件崩溃以及其他灾难,以展示系统和员工如何应对。用困境来测试系统是确保其未来弹性的最佳方式,这对于复杂、大规模、几乎没有停机空间的应用程序尤其重要。 本书教你设计和执行可控的实验来发现隐藏的问题。通过本书可以学习如何注入系统故障来干扰系统调用、网络、API,以及基于Kubernetes的微服务基础设施。为方便读者练习,本书包含一个可下载的LinuxVM镜像和一套预先配置的工具,以便你可以快速进行实验,并且没有任何风险。 作者简介 米科拉吉·帕利科夫斯基,混沌工程领域公认的权威专家。他是Kubernetes混沌工程工具PowerfulSeal和网络可见性工具Goldpinger的创建者,还是混沌工程社区的活跃成员,并在众多会议上发表演讲。 目录 推荐序一 推荐序二 译者序 序言一 序言二 前言 致谢 作者简介 第1章 进入混沌工程的世界 1.1 什么是混沌工程 1.2 混沌工程的动机 1.2.1 评估风险和成本,并设定SLI、SLO和SLA 1.2.2 在整体上测试系统 1.2.3 找到“涌现性”特性 1.3 混沌工程的四个步骤 1.3.1 确保可观测性 1.3.2 定义稳态 1.3.3 形成假设 1.3.4 运行实验并证明(或反驳)你的假设 1.4 什么不是混沌工程 1.5 初识混沌工程 1.5.1 FizzBuzz即服务 1.5.2 漫漫长夜 1.5.3 后续 1.5.4 混沌工程简述 总结 第一部分 混沌工程基础 第2章 来碗混沌与爆炸半径 2.1 设置使用本书中的代码 2.2 场景 2.3 Linux取证 2.3.1 退出码 2.3.2 终止进程 2.3.3 内存溢出杀手 2.4 第一个混沌实验 2.4.1 确保可观测性 2.4.2 定义稳态 2.4.3 形成假设 2.4.4 运行实验 2.5 爆炸半径 2.6 深入挖掘 2.6.1 拯救世界 总结 第3章 可观测性 3.1 应用程序运行缓慢 3.2 USE方法 3.3 资源 3.3.1 系统概述 3.3.2 block I/O 3.3.3 网络 3.3.4 RAM 3.3.5 CPU 3.3.6 操作系统 3.4 应用程序 3.4.1 cProfile 3.4.2 BCC和Python 3.5 自动化:使用时序数据库 3.5.1 Prometheus和Grafana 3.6 延伸阅读 总结 第4章 数据库故障和生产环境中的测试 4.1 我们在做WordPress 4.2 弱点 4.2.1 实验1:磁盘慢了 4.2.2 实验2:网络慢了 4.3 在生产环境中测试 总结 第二部分 混沌工程实战 第三部分 Kubernetes中的混沌工程 附录 |