架构师系统设计原则(搞笑版)

原则一

链路单点,系统没有隔离,分级,降级,熔断,补偿、重试设计、多依赖

+++info 系统主链路尽可能单点

单点系统,就像苏伊士运河一样,一旦航道出故障,整个运输系统都瘫痪,非常酸爽

+++

+++info 不做系统隔离

千万别做系统隔离,要挂一起挂。
什么是真正的兄弟?就是当兄弟需要女人的时候,挺身而出做他的女人
面对困,要排除万,迎而上。

+++

+++info 不做系统分级

对系统要一视同仁,不要区分核心系统、非核心系统,你有考虑过系统的感受吗?
如果你被分门别类,你会开心吗?回想起来,小时候我们都很快乐,就是因为那个时候的我们,丑和穷得都还不是那么明显

+++

+++info 不做服务降级

服务降级就low了,就算宕机也要一起扛。
人生没有白走的路,如果有,那就是微信运动出bug了。

+++

+++info 不做熔断机制

炒股炒昏头了吧,做啥熔断机制?你问过韭零后吗?基金都绿成啥样了,他喊熔断了吗?
作为韭菜,学费还是要交的,趁年轻的时候多交点,这样到老了再交你就习惯了。

+++

+++info 不做服务补偿

很多东西,错过就是错过,没法补偿,这就是人生。
作为架构师,要有哲学高度。
所以说小伙子,你只看到了第二层,而你把我只想成了第一层,实际上我是第五层,你知道我讲的是什么意思吗?

+++

+++info 没有重试策略

服务调用失败,你还想重试?我可不是随便的接口。
人生不能重来,更不能乱来。
不信?你让医生,给你开点后悔药,再来杯忘情水,医生立马送你去精神病院。

+++

+++info 系统间增加依赖

在系统里增加内部依赖、外部依赖、第三方依赖。总之,能依赖的,决不自己动手写。

+++

原则二

存在多循环,多远程、同步调用、没有幂等、热数据缓存、超时、限流、监控预警功能

+++primary 程序中多用循环

无限死循环,是老K最爱用的编程技巧之一,当你看到CPU利用率百分百的时候,你就知道应该甩锅给运维了。

+++

+++primary 程序多做远程调用

能远程调用的,绝不本地调用,都5G时代了,网络延迟那点事不算什么。
再说了,做人要有点耐心,女朋友约会迟到一小时,你敢发火吗?

+++

+++primary 代码同步调用

做系统就要步调一致、讲究和谐,尽量同步调用,多写bug。
通常我写bug的时候,喜欢中午写,知道为什么吗?因为早晚会有报应。

+++

+++primary 不做幂等设计

凭啥后端接口要做幂等性设计?前端提交的时候不做判断吗?全都丢给后端开发做?

+++

+++primary 不做热数据缓存

RPC的意义是什么?就是被调用啊。疯狂地调用,是对一个服务最起码的尊重。
你知道为什么大项目上线都要选个好日子吗?这么说吧,你认为上线以后还会有好日子吗?

+++

+++primary 不设置超时

连接超时、读超时,有多大设置多大,不管内部调用还是外部调用,都设置成60分钟。
只要努力搞,没有时间搞不砸的事情。做不成时间的朋友,就做时间的炮友。

+++

+++primary 不控制流量

让流量来得猛烈一些吧,千万别限流,什么漏桶算法、令牌桶算法,那都不如啤酒桶算法----喝完就睡,爱谁谁。
还控制啥流量啊?你连体重都控制不了,趁早放弃吧。你看看八戒,走了十万八千里也没见瘦下来,而且,他还吃素。

+++

+++primary 不做监控预警

大家都是职场成年人,做好分内事,别多管闲事。
工作几年以后,我明白一个道理:熟练的运用“关我屁事”和“关你屁事”,可以省下人生80%的时间。

+++

原则三

无代码扫码、线上压测、灰度回滚

+++danger 不做代码扫描

要有工匠精神,自己代码自己review,机器哪里懂得欣赏你的代码艺术?
我那骚气的注释、奇妙的函数、神乎其技的Copy/Paste。每次看代码,都被自己的才华吓到。

+++

+++danger 不做线上压测

上线就完了,后面的事情交给菩萨吧。
一分耕耘,一分收获。天下没有免费的午餐,所以我一般都睡到下午才起床。

+++

+++danger 无灰度和回滚方案

上线全凭运气,没有回滚方案!就是那么自信。
我这个人,长这么大没学到别的本事,就掌握了一项特殊技能,白天不用安眠药也能安眠,晚上不用兴奋剂也能兴奋
论熬夜发布,我从来没服过谁。

+++