如何打造一个经常宕机的业务系统?
共 1961字,需浏览 4分钟
·
2020-12-23 00:45
删库跑路专家、宕机行为艺术家、肥胖版吴彦祖--老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条,有则改之,无则加冕。
-END-