一个BUG引发的风波

举报
GaussDB数据库 发表于 2018/12/19 15:35:35 2018/12/19
【摘要】 神说:要有光,于是有了光 程序员说:今天早点下班,于是有了 BUG 以下是一个程序员和BUG厮杀的回忆录 世界繁复庞杂,我们行走其间。没人知道,看似不起眼的一件小事,会在将来改变什么;即使细微如蝴蝶鼓翅,也能煽动千里之外的飓风。爱情诚可贵,过节价更高。若为 BUG 故,两者皆得抛。但万万没想到,有一天,我的生活会被一个 BUG 搅乱... ...

神说:要有光,于是有了光
程序员说:今天早点下班,于是有了 BUG


截图2.PNG

以下是一个程序员和BUG厮杀的回忆录


世界繁复庞杂,我们行走其间。没人知道,看似不起眼的一件小事,会在将来改变什么;即使细微如蝴蝶鼓翅,也能煽动千里之外的飓风。爱情诚可贵,过节价更高。若为 BUG 故,两者皆得抛。但万万没想到,有一天,我的生活会被一个 BUG 搅乱...


截图.PNG

这事还得从坑爹的购物节说起...


自从几年前节日促销火了后,商家们就打开了世界新大门,不再满足于原来的情人节;接踵而来的圣诞节、元旦节、春节一个赛一个的热闹。大家不但有节必过,而且没节造节也要过。

 

这可苦了两种人,一是需要具备求生欲的男朋友,一是要对后台做支撑的程序猿。对他们来说,购物节简直就是购物劫。

 

很不巧,我是这两类人的结合体,一个很有求生欲的程序猿。

截图3.PNG


我的女朋友叫小美,温柔可爱善解人意,但是对 BUG 深恶痛绝。这不能怪她,毕竟我陪 BUG 的时间,比陪她还多。

 

虽然她总是咬牙切齿的说,总有一天,要让我去跟 BUG 过,可我觉得,她还是爱我的。约会被放那么多鸽子还不离不弃,就是最好的证明。

 

不过我很过意不去,所以一直想着,要怎么好好补偿下她。

 

虽说陪伴是最长情的告白,但程序猿的时间,真的像人到中年的发量,很是稀薄。好在听说还有一种新方式,可以讨得女朋友的欢心。

截图4.PNG


都说没有什么问题是清空一次购物车解决不了的,如果有,就多清空几次。在双十二刚过完,又逢 C 站购物节预热期。我决定先去 C 站练练手,顺便给小美一个惊喜。我要让她在接下来的日子,都徜徉在拆包裹的喜悦中。听说,那是女人最大的幸福之一。


提前打听好小美心仪已久的礼物后,我偷偷在 C 站注册好账号,礼物装了满满一购物车。我定好了鲜花,红酒;我打算在购物节那天告诉她:我能想到最浪漫的事,就是帮你清空购物车。

 

购物节当天,我早早就跟部门的兄弟们打了招呼,今天哥有点事,要早点下班,大家多担待些。不过想到晚上流量峰值各网站的后端支撑,特意请运维的兄弟帮盯着点。

截图5.PNG


对了,我们公司是给电商平台做支撑的。各种购物节火起来以后,虽然商家们赚得满盆满钵,但要支撑起网站短时间内成千上万的流量,可不是一件容易的事。所以也就有了我们这样的业务。说起来,C 站也是我们的一个大客户呢。

 

我收拾好东西走出公司。万事俱备,只差下单。

有时我们想到开头,却没料到结尾


晚上 8 点,我接到运维兄弟的电话,说是后台发现了一个小 BUG,如果并发链接增多,大量数据需要处理的话,可能支撑不过来。

 

我问了两句,问题不大。建站之初我们就想到这种问题了,所以用的是扩容最灵活的文档数据库 DDS 存储数据。能确保流量高峰期的高并发场景下,数据达到节点存储极限时可以横向扩容。

 

晚上 9 点,DBA(数据库管理员)同学的电话来了。小 BUG 还没解决,如果高并发下支撑不过来,可能会导致数据库的节点不可用。


只是个小小的 BUG,还能翻出浪来不成?我镇定了下,告诉他:“别慌,DDS 是三节点架构,没那么容易挂。”想了想,保险起见还是加了一句:“辛苦再做下性能测试吧。”

截图6.PNG


晚上 10 点,前端的同事电话也来了:“怎么回事,现在网站打开很慢啊。”

 

这 BUG 是要上天?我的心里闪过一丝不详,但还是赶紧安慰自己和前端:“没事的没事的,就是一个小问题,正在测试优化,马上就能解决。

 

前端犹豫了下说道:“那赶紧点哈,好几个客户都很重视这个购物节,宣传和运营都是下了血本的,别出什么幺蛾子了。”


我给发小打了个电话,请他帮我准时去清空下购物车,答应事成之后送他一套新款的机械键盘。我记得好几个限量款,都是需要抢购的,所以叮嘱他速度要快,动作要帅。

截图7.PNG


晚上 11 点:我赶到公司,后台的流量监测波峰越来越高,网站打开越来越慢。

 

晚上 12 点:活动正式开始,流量蜂拥而来...

 

半个小时后,发小给我打来电话, C 站网页一直无法响应,他已经刷新不动了。

 

事已至此,我最后的浪漫,也如中年人发丝的最后倔强那般,飘荡着离我而去。

 

千算万算,没有想到小小的 BUG,竟然导致高并发下的 DDS 出现了两个节点故障,然后数据库真的不可用了。


火速解决了节点故障,却发现当前主节点数据太旧,无法追赶到其他备节点。于是只能经过一番手动拷贝数据,将备节点上的数据复制到新的主节点上,最后重启节点。

 

数个小时之后,C 站的网页终于可以正常访问了。然而平台 1 小时抢购活动却已经结束。因为这几个小时的业务中断,C 站损失了数以万计个订单,金额更是高得吓人。

 

这一切的一切,只是因为一个小小的 BUG 没被重视。

 

处理完一切从公司回来的那个凌晨,我难过的哭了。我是个程序员,我只是购物节那天想早点回家。

截图9.PNG


我越哭越伤心,终于惊动了小美。她过来捧着我的脸,问我怎么了。我想告诉她对不起,但讲不出一句话。她一边急切的问我到底怎么了,一边着急的摇晃我的肩膀。她的脸越来越近,在我的瞳孔里无限放大开来。

 

 


我掀开眼皮,原来是在等她的当口在沙发上睡着了。幸亏,这只是个梦!我悄悄摸了下眼角,还好没有眼泪,不然丢脸丢大发了。

 

她理了理被我压皱的领口:“怎么睡着了都一直嚷嚷 BUG,又被虐了?”。

 

我搂着她的腰,一边享受这难得时光,一边用轻松的口吻将梦里的事简单告诉了她。

 

 

 

 

截图10.PNG


笨蛋,可以用华为云的 DDS 文档数据库啊!他们推出了一个DDS 增强版,N-1节点故障容忍,10 倍故障重构,可以说是购物劫的渡劫神器了。”她捏了捏我的鼻子。

 

我惊讶的看着她:“你咋知道的?”

 

“因为我最讨厌 BUG,所以当然要想办法消灭它呀。云数据库自动搭建运维,省事多了。而且,他们现在还延续双十二的活动,可以去看看,说不定还能抽个 Mate20哦。”她调皮的眨了下眼睛。

 

哦,差点忘了,我的女朋友,也是一个后端支撑的程序媛。我亲了下她的额头:“有你真好!”



 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。