Netflix 最近开源了 Chaos Monkey 2.0 源代码。这个系统弹性测试工具的最新版本已经与 Spinnaker 和事件跟踪系统完全整合起来,但是对 SSH 的支持已被移除。
Chaos Monkey 2.0 现在通过 Spinnaker 配置和运行。Spinnaker 是一个由 Netflix 开源的持续交付平台。这种整合使得它可以访问在 AWS、谷歌云、微软的 Azure 和 Cloud Foundry 上面的实例。Spinnaker 提供在数据中心如何部署服务的信息,Chaos Monkey 利用这些信息按计划终止实例。
Netflix 配置 Chaos Monkey 去向 Atlas 和 Chronos 报告实例的终止情况,使它们能够跟踪和可视化实例终止的频率。该工具可以用其他遥测和事件跟踪系统进行配置。
SSH 有允许连接到某个实例的能力,并可以调整 CPU 占用量或把一个硬盘卸载掉。这种能力已经从 Chaos Monkey 中移除。这些故障模式被认为是太“阴险”了,因此不能随机使用,并且已经为它们开发了另外的方式。
Chaos Monkey 是 Gorilla 和 Kong 的小兄弟。Gorilla 和 Kong 是一对恢复工具,Netflix 使用它们来模拟 AWS 可用性区域内或整个大区内的故障。而 Chaos Monkey 则用来终止在一个数据中心内内或者跨多个区域的个别实例。该工具已被 Netflix 用来强制要求公司内的软件工程师时刻保持有弹性的系统的思想,基于此去设计和实现系统。Chaos Monkey 的运行必须要有 Spinnaker 和 MySQL。Chaos Monkey 用 Go 语言写成,但它不作为服务运行。相反,它由定时任务引发。
评论