写点什么

Netflix Chaos Monkey 2.0 发布

  • 2016-11-16
  • 本文字数:1045 字

    阅读完需:约 3 分钟

Chaos Monkey 是在 Netflix 整体微服务化的形势下开发的。为了增加微服务架构的弹性,需要确保当服务集群中有节点失败或者退出时不会影响整体服务。由于 Netflix 的内部文化,没有办法通过框架或者编码规范来形成一套能够满足弹性要求的框架。最终,Netflix 选择开发了 Choas Monkey:一个在生产环境随机选择并关闭服务的工具。对于这个选择,有人会觉得很疯狂,但是通过频繁的服务失败演练,使得开发团队对服务集群稳定性有了更高的重视,以确保不会因为这些演练对最终用户产生影响。

Netflix 将 Chaos Monkey 定位为提升服务质量的高效工具。最近发布的 2.0,除了带来更好的可维护性,也带来了一些新的特性。

和 Spinnaker 集成

Spinnaker 是 Netflix 的持续交付平台,Chaos Monkey 2.0 和它结合之后,可以在 Spinnaker 上对其进行配置。同时 Chaos Monkey 可以从 Spinnaker 获取服务部署的相关信息并通过 Spinnaker 关闭服务实例。

由于集成了 Spinnaker,Chaos Monkey 增加了对多种后端的支持,包括:AWS、GCP、Azure、Kubernetes、Cloud Foundry。

Chaos Monkey 2.0 还在配置上进行了优化,用户可以设置两次终止之间的平均时间,而不是在任意时段内的概率。另外,针对服务所在的环境进行分组,分组方式延续了 AWS 的概念,包括应用、应用栈(stack)和集群。配置页面如下:

追踪关闭行为

Chaos Monkey 2.0 可以单独配置外部追踪器,当 Chaos Monkey 对某个实例进行了关闭操作后,它会向配置的追踪器发送通知。对于 Netflix 内部使用来说,Chaos Monkey 会将通知发送到 Atlas (Netflix 的检测系统)和 Chronos (Netflix 的事件追踪系统)。下图是 Atlas 系统的截图,展示了 Chaos Monkey 对于部分服务的关闭操作行为,值得注意的是,Chaos Monkey 还会关闭自己的服务实例。

其他改变

之前版本的 Chaos Monkey,除了支持关闭服务实例之外,还支持其他一些操作系统级别的破坏,例如提高 CPU 占用率、阻塞网络 IO、写满硬盘空间等。Chaos Monkey 2.0 移除了这些功能,只支持关闭服务实例。对于这些功能移除,Netflix 的工程师认为,这些功能应该被放到故障注入服务中进行定向注入,而不是作为 Chaos Monkey 的随机操作之一。关于故障注入,Netflix 也有一些介绍

Chaos Monkey 2.0 源码在其 Github 仓库上已经可以下载和部署。详细部署方式参见 Chaos Monkey 的 wiki 页面


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-11-16 18:002574

评论

发布
暂无评论
发现更多内容

MobPush Android 厂商通道回执配置指南

MobTech袤博科技

这5个有趣、强大的AIGC,你值得拥有

没有用户名丶

JVM超神之路:金三银四跳槽需要的JVM知识点,都给你整理好了

Java你猿哥

Java 面试 JVM 面经 Java工程师

硬核!最全“Java面试宝典+Java核心知识集”,一箭双雕杠春招

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

MacDroid mac版:实现安卓手机数据传输

理理

android Mac 数据传输 MacDroid for mac

视频回放编辑工具:Mitti 激活版

真大的脸盆

Mac 视频处理 Mac 软件 视频编辑 视频回放工具

活动回顾|龙蜥社区云原生 SIG 首届 MeetUp 圆满落幕 持续打造面向云时代的竞争力

OpenAnolis小助手

开源 云原生 Meetup 龙蜥社区 sig

来啦!OceanBase DevCon • 2023议程公布!

OceanBase 数据库

数据库 oceanbase

OpenAI 发布ChatGPT 插件支持,官方文档译文

B Impact

Redis链表底层实现以及生产实战

做梦都在改BUG

Java redis 缓存 源码 链表

Microsoft 365 for Mac(原Office 365) v16.71正式版

理理

Office 365 office许可证

江苏银行与易观千帆达成合作,打造金融服务“新样本”

易观分析

金融 银行 经济

周杰伦在唱什么?数据可视化告诉你!

博文视点Broadview

GtiHub上点赞已破百万!阿里内部并发编程四套全彩手册开源

架构师之道

Java 程序员 面试

面试官:说说什么是单点登录?什么是SSO?什么是CAS?

Java你猿哥

Java ssm CAS SSO

linux环境arm64架构编译iotDB

小黄鱼

Thrift IoTDB arm64

SecureCRT for Mac(强大的终端SSH工具)附许可证 v9.3.2正式版

理理

SSH工具 SecureCRT下载 SecureCRT破解版 SecureCRT许可证

QPSK/DQPSK 调制解调系统仿真

timerring

通信系统仿真

火山引擎基于 Dragonfly 加速实践

SOFAStack

开源 开发者 开发

来2023全球边缘计算大会与EMQ探讨云边协同落地实践

EMQ映云科技

物联网 IoT 边缘计算 emq 企业号 3 月 PK 榜

pd虚拟机专用windows系统镜像(m1/intel)

理理

pd 18 pd虚拟机 Win11系统下载

大模型时代的异构计算平台

百度Geek说

人工智能 深度学习 AI 企业号 3 月 PK 榜

MQTT安全专题01|构建可靠的物联网系统

EMQ映云科技

物联网 IoT mqtt 物联网安全 企业号 3 月 PK 榜

什么是 LuaJIT?为什么 Apache APISIX 选择了 LuaJIT?

API7.ai 技术团队

lua api 网关 APISIX API Gateway

2023年中国品牌全域智能营销白皮书

易观分析

营销 品牌

【3.17-3.24】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

IntelliJ IDEA 2022 for Mac(Java开发工具) v2022.3.3汉化版

理理

IntelliJ IDEA IntelliJ IDEA激活码 IntelliJ IDEA2022

华大北斗上榜“深圳知名品牌”

江湖老铁

浅谈 Java线程状态转换及控制

Java你猿哥

Java 后端 多线程 ssm Java工程师

真香!180页100+题15W+字解析的《Java高级面试指南》,果断收下

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Netflix Chaos Monkey 2.0发布_语言 & 开发_金灵杰_InfoQ精选文章