v1.7 新增六个混沌场景,并把 Failure Lab 带进自由模式。现在你可以搭建一个集群、放倒 broker、切断网络,并跟着看它如何恢复。
Kafka Simulator 的课程体系目前覆盖 122 个场景中的 80 个。
Failure Lab
在此之前,故障是写好脚本的场景的一部分。你可以跟着看一个 broker 倒下,却不能换一个 broker,也不能在自己的拓扑里重试同样的故障。
Failure Lab 在自由模式里把这些控制交给你:
- 杀掉并重启 broker。 看 broker 消失时 leader 和副本会怎样,然后再把它拉起来。
- 制造网络分区。 切开集群,跟踪哪些分区还留着 leader、哪些失去了 leader,以及 ISR 如何变化。
- 观察恢复。 修复网络或重启 broker,然后一步一步走过正在恢复的集群。
六个新场景带你走完结局已知的故障。在自由模式里,拓扑和故障都由你选。
这样就留出了场景没有覆盖的问题。如果倒下的是另一个 broker 呢?如果第一个还没追上,你又失去了第二个呢?这些都能试,不用搭真实集群,也不用事后收拾。
Failure Lab 还会记录你的操作。故障、写入和配置变更都会出现在 ?actions= 链接所用的同一份日志里,因此你能看到分享链接将会重放什么。
手机上更好用的 playground
playground 早就能在手机上打开。用起来是另一回事:标签太小,控件挤占了图形,而打开详情面板之后就很难再盯住集群。
这个版本重做了这套布局:
- 标签更大,浪费的空间更少。 图形更贴合自身内容,宕机的 broker 会折叠成一行显示离线状态的标题。
- 可拖动的详情面板。 把当前步骤留在底部,向上拉起面板以便对照集群阅读,或者完全展开。
- 更小的控件。 工具栏、播放速度和时间轴占用的空间都变少了。
我们还修复了某些多数据中心图形边缘标签被裁掉的问题。那些标签是整个消失,而不只是变得难以辨认。
找到一个场景
场景库现在支持按编号或标题搜索、带计数的难度筛选,以及按场景时长筛选。桌面端同样可用。
打开模拟器,搭一个集群,试着放倒一个 broker。