今天,PingCAP官方又高调宣布了2020年的Hackathon计划,头奖奖金高达10万,相信各路大神也是蠢蠢欲动了。其实我有个创意第一届就想做了,各种原因吧,没能搞成。今年其实也不太可能搞,主要是项目投入成本有点高,所以干脆写出来,要是有人看上的话可以联系我啊哈哈。
缘起很简单,就是想优化一下我们TiDB技术支持的体验。我们先分析一下,我们DBA在支持客户的时候,最大的痛点是什么呢?
- 是频繁的扩容缩容吗?
- 是复杂冗长的运维操作步骤吗?
- 是繁琐漫长的问题诊断吗?
显然对于现在的TiDB来说,这些都不是事儿。
根据马斯洛需求层次理论,当基本的生理和安全需求被满足了之后,人们就需要去满足更高级别的精神级别的需求。
因此,我大胆断定,现在对于TiDB的DBA来说,运维TiDB最大的问题就是:不够酷炫,不够嗨!
所以我们来搞一些设施,让运维体验嗨皮起来!
项目的名字叫“TiDB驾驶舱”,大致就是一个座舱,要运维集群的时候就直接坐进去,大家可以想象一下下面这两张图的结合形态。
TiDB驾驶舱,让你运维TiDB集群有如在开歼-20的感觉!
想象一下,你坐进驾驶舱,然后一条命令连上集群。此时:
- 终端自动接入堡垒机
- 屏幕开始显示关键metrics
- 空速表和高度表显示的是集群的QPS和latency
- 油量表显示集群剩余存储空间
- 姿态仪显示的是集群的balance状况
- 闪烁的LED矩阵指示着集群里各个节点的健康状况和负载情况
- 各种开关根据集群配置情况初始化至对应的状态
突然,警报器发出刺耳的蜂鸣音,终端提示你:有节点发生了故障。你冷静地扫了眼LED矩阵,发现一个红灯,原来是TiKV故障了。按下对应的按钮,登录上了对应的节点,查日志发现是磁盘损坏了。
你熟练地拨动着开关,很快就做完了下线处理。最后,你观察到补副本的速度有些慢,于是你轻推节流阀,慢慢提升调度速度,同时密切注视着集群状态的变化……
是不是很嗨皮?是不是很朋克?
这还没完,我还设计了一个扩展包,可以让朋克升级成赛博朋克。
扩展包要解决的是另外一个很现实的问题。
随着TiDB的兼容性和稳定性不断提升,慢慢地也开始进入一些银行金融的核心场景。而这些客户的运维支持有一个很麻烦的问题,就是因为安全级别比较高,他们一般是不允许远程接入的,只能是去现场人肉排查问题。这也在一定程度上增加了DBA们的工作负担,降低了嗨皮度。
针对这个问题,我设计了远程oncall机器,在遇到这种情况的时候,我们就不用DBA跑去客户现场了,直接叫个闪送把oncall机器人给送过去,我们还是坐在驾驶舱,远程操纵。
我画了个示意图,大家将就看下吧……
说是机器人,其实也很简单了,就是一个三脚架,加上一个摄像头和一个能操作键盘鼠标的机械手,再接上能连移动网的4G模块。当然也能加一些比如语音扩展包啥的,不是事儿。
此时我们跟客户的生产环境是纯物理接触的,安全级别足够高,而且客户把机器人放在电脑面前了它就动不了了,也不怕乱跑乱看,甚至比真人过去更让人放心……
好了,大体就是这样了,我觉得这个做出这个来拿个头奖真不过分。感兴趣的话,快来联系我啊!