原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

我是一只金丝雀,我的小名叫雀雀。对于雀雀的记载,历史上最早可追溯到2019年12月微信公众号xjjdog对我的描述。

能够活到今天,是我前世修来的福报。

与世间所有的福报类似,都是残害我的人,对我的肆意嘲弄。我是只悲伤的鸟儿,但我从不以我的真面目示人。与其让别人对我的悲伤评头论足,不如将伤痛深深的埋在心底,静默尘封。

临近中午,我的父亲再次安然归来。他的羽毛凌乱,眼光涣散,但依然充满关爱的看着我。

“你又去探险了么?”我把头伸出笼子,好奇的望着他。

“是的。我到了一个非常漆黑的地方,哪里微微闪着光亮,就像是传说中的宝藏“。

我对于这种生活,充满了憧憬。我的心里埋着一颗自由的种子,财富会让它破茧而出。但是外面的人,从来不带我去。

或许我还太过弱小,或许我的歌声还不够响亮。于是我站在精致的小笼子里,扯着嗓子用力的歌唱。我的羽毛就像金子一样,在闪烁的灯光下闪现着光泽。旁边精致的小盆栽,也在我的歌声中黯然失色,成为了我的陪衬。歌声掠过窗台,飞向不知名的树木,撞向几只没有目标的小鸟。

我的状态很好。旁边有工人在谈话,我旁若无人,用我细细的小嘴,认真的梳理着自己的羽毛。我对自己的光鲜亮丽特别的满意,哪怕是孤芳自香。

“这只小金丝雀的状态很不错,我们今天就带它出去吧”,一个宽宽额头的人用他的指甲碰了碰我的小嘴。他的指甲缝里有点黑,小拇指上戴着个大金戒指。他的嘴巴有些扁,可能是因为瘦的缘故,又显得比较大。

“你的福报来了,小子”,他说。“Here comes your blessing, boy”。

我很激动。能够被选中,见识一下外面的世界,我兴奋无比。

方脸很是满意。我回头看了一眼父亲,他神色黯然的低着头。窗口的风儿扫过,他的一片不是金黄的羽毛在风中乱颤。我不知道他是因为冷,还是因为生气,因为他的腿也在发抖。

“你应该为我祝福,父亲”,临走前,我非常不悦的说。

他眨了下眼,眼光有些呆滞。

外面的世界果然美好,但我不敢跃出笼子。

笼子里的我,可以接受福报。而笼子的外面,一切充满了不确定性。我的歌声,我的羽毛,只为了懂我怜我的人而生。

方脸吹着口哨,说着不知名的话。转眼之间,他就带我到了一个简陋的矿井。这里的采矿设备非常简陋,我一眼就看出了它的原始。

方脸把我交给一个大高个,然后高个就带我向矿坑里钻。我心中又激动又兴奋,我会见到传说中的宝藏吗?我一只叽叽喳喳的叫着,想要告诉别人我心里的感觉。

矿坑里越来越黑,我感觉到一丝不同的味道。这种味道特别的刺鼻,让我的脑袋好一阵眩晕。但内心的激动,让我一直在歌唱。

大高个提着笼子,走不了几步,就停下来观察一番。最后,身后的出口,变成了一个芝麻粒一样的光点。

这个时候,我有了一股窒息的感觉,这种感觉那么强烈,一直在撞击我的脑袋。我已经唱不出歌了,感觉灵魂飞向了天空。我还没有找到宝藏,就要死在这黑漆漆的地方么?

求生的欲望,让我不停的撞击着笼子。由于我的乖巧,方脸竟然把笼口忘关了,这让我的求生欲望更加强烈。我用力冲出笼子,朝着点点光亮拼命的飞翔。

终于,随着一声叫骂:“fuck”,我慌不择路的冲出了矿坑,奋翅高飞。

我眼角的余光,看到方脸着急的往矿坑里探头,不知所措的搓着手。

我躲在角落里瑟瑟发抖的度过了几天,终于在其他鸟儿的帮助下,适应了外面自由的生活。后来,我听说大高个死在了矿坑里,死因是瓦斯中毒。我还了解到其他的一些事情。

矿工们很早就发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱。而当瓦斯含量超过一定限度时,虽然鲁钝的人类毫无察觉,金丝雀却早已毒发身亡。在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为 “瓦斯检测指标”,以便在危险状况下紧急撤离。

想的很美,可惜我的家族已经变异了。我对瓦斯的敏感度高,但忍受度也高,他们失算了。在我发现危险的时候,我逃了出来,只是可惜了大高个…

只是,现在的程序员,又拿出金丝雀的这段历史,做了金丝雀测试。

什么叫做金丝雀测试?那肯定不是百分之百的安全。如果金丝雀自己也不能保证它的正确性,效果肯定要打折。这其实是一种灰度测试方案,需要小范围发布一部分新功能,并持续观察。注意“观察”这个字眼,它并不能总是按照预想的去完成,观察过程也不一定正确,所以它们会综合影响金丝雀测试的效果。

在微服务中,最适合做金丝雀测试的地方,就是网关。你可以做一些粘性的金丝雀绑定到特定的用户,也可以随机的将功能下放到某个区域,或者只对某个条件的请求开放新接口。这些额外的信息通常会被追加到cookie、http头等信息里,进行透传,以便灰度能够延续到服务的尾部。

复杂的架构,严谨的逻辑,只是为了,让金丝雀存活。必要时,杀死它。