如何打造一个经常宕机的业务系统?

2020-12-18 00:00:00 代码 环境 系统 单点 不做

删库跑路专家、宕机行为艺术家、肥胖版吴彦祖--老K,曾经说过:“打造一个偶尔宕机的系统并不难,难的是经常宕机,一辈子宕机,从来没有稳定过的系统,这才是难的。”


但是,作为一个有追求的技术人,我们要迎男而上,做一条为梦想窒息的咸鱼


老K做程序员那会儿,曾经写嵌套循环搞宕数据库、手抖误删过线上环境、乱写日志撑爆过硬盘。总之,没有人比我更懂宕机



这些血和泪的教训,总结下来总共20条,条条酸爽:


1、需求不问价值,多做无用功。开发一堆没人用的功能,让用户莫名其妙。产品也不容易,别随便骂他们不动脑,因为不动脑的前提是,他首先得有个脑子


2、不拆分需求,坚持做大版本。一个大story开发一周、两个月发版一次,迭代慢慢来,有没有熬死对手不知道,先熬死自己。大有什么不好?找女朋友就应该找个胖一点的,反正花同样的钱,找个大只一点的不好吗


3、不评审技术方案。技术方案就像内裤,我知道我的代码有漏洞,我不让你看到就行了。开发也要彼此尊重,不要动不动就看对方的内裤或代码,你自己又不是没有


4、不遵守设计规范,编码规范。勇敢做自己,就是这么随性。我就是我,看到自己都冒火


5、前端不考虑兼容、托底、组件解耦。前端只管用户交互爽、界面简洁,不要管什么代码结构,想这么多头都要炸开了,做这么多用户又看不到,何必为难自己。


6、前端调用后端接口,不考虑压力、频次。后端开发不是牛逼吗?鄙视链上瞧不起前端?老子调死你,循环调用,上线即压测。所有命运的馈赠,早已暗中标好了价格,后端拿高工资是吧?我前端搞死你


7、领域划分不清,各层之间乱调用。后端写代码乱调用,怎么快速怎么来,只管挖坑,让下一任来填坑吧。这一挖一填之间,大家都升职加薪了,谁不高兴呢?


8、系统强依赖。千万别解耦、异步,整那么复杂干嘛?系统强耦合、强依赖,不要考虑异常情况,要相信其它同事写的代码跟你一样烂,相信相信的力量


9、系统伸缩性差。还考虑啥伸缩性啊,不行就推翻重来,靠机器堆出来的性能不牛逼,等我用汇编、C++从操作系统内核开始优化,预计还需要99年。


10、单点部署。我自己还凭实力单身呢,我写的应用单点部署又怎么了,跟我很配啊。


11、不做过载保护。兜底、降级策略并不重要,快速失败也是一种策略嘛,谁叫接入层不做缓存,谁叫数据层性能这么弱,凭啥我来做过载保护?我偏不。


12、测试环境跟生产环境不一致。这招玩好了,很容易让人怀疑人生:我明明在测试环境好好的啊,会不会是生产环境有问题?改改生产环境吧。人生就是这样,你以为你早看透了什么是人生,但你就是玩不过它


13、不做压力测试。没事做压力测试不是有病么,我好端端的程序,你压它干嘛?我没事压你,你什么感受。呃,还是算了吧,开发果然都有男言之隐


14、上线不走流程。上线偷偷上,不知不觉中就事给办利索了。轻轻地我发布了,正如当初我轻轻地把系统搞宕机了。徐志摩都拍手说你牛逼。时间告诉我们,无理取闹的年龄过了,到了该装逼的时候了


15、没有监控,忽略预警。增加监控,那不是还要写很多代码?有这功夫,不如多写几个没用的业务功能,多挖坑填坑,大家升职加薪不好吗?


16、不关注业务系统运行。系统上线后,就是运营、运维的活了,用得咋样、系统稳不稳定关我屁事啊。


17、不做持续重构。重构很烦的,就像没事把头发剃光,再重新长出来一样。那不是有病吗?你头发多,也别跑来这里炫富好吗。


18、出现线上事故,不及时处理。平时上班很忙的,宕机就重启啊,三板斧交给你:重启应用、重启机器、重装机器。如果一遍不行,就搞两遍,再不行就跑路吧。


19、不做事故复盘。事情都已经发生了,还有什么好说的。别跟K嫂一样,老爱翻旧账了,向前看吧。生活就像是个骗子,被它欺骗了,不要伤感,明天它还会继续诈骗你,后我们都学会自欺欺人。


20、做事不形成闭环。就算做了复盘,也要不改正,让这后一步功亏一篑。

要学着安慰自己,有些事情做不完,就留到明天做吧,运气好的话,明天挂了就不用做了


西游记告诉我们,凡是有后台的妖怪都被接走了,凡是没后台的都被一棒子打死了。在职场也是一样的道理,没有本事就不要作妖。


以上20条,有责改之,无有加冕。


作者简介Mr.K,知名电商公司技术老K级人物。文出过畅销书,武做过CTO,若非生活所迫,谁愿一身才华。

相关文章