如何搭建一个拖垮公司的技术架构?
ccwgpt 2024-09-21 13:32 22 浏览 0 评论
架构师不仅拿钱多,还受到程序员的崇拜、妹子的仰慕。
他们走路带风、出场自带BGM,吹啊吹,我的骄傲放纵。唯一的缺点,就是费头发。
架构师虽好,却不是人人都能当的,除了聪明绝顶,还要有扎实的技术功底,经过多年的努力,我做到了一点,我已经绝顶了。
一名架构师,必须身经百战,经历过无数重大宕机事故。因为神枪手都是子弹喂出来的,身上的每一块肥肉都是你亲口吃出来的,无他,唯手熟尔。
我作为技术Leader中最懂架构的骑手,不仅送得一手好外卖,还搞宕过不少大型系统。下面结合自己的经历谈一谈:如何搭建一个拖垮公司的技术架构?
一、系统主链路尽可能单点
单点系统,就像苏伊士运河一样,一旦航道出故障,整个运输系统都瘫痪,非常酸爽。
单点就像单身,开始的时候滋味不好受,但是不用担心,因为后面你就习惯了。
二、程序中多用循环
无限死循环,是老K最爱用的编程技巧之一,当你看到CPU利用率百分百的时候,你就知道应该甩锅给运维了。
这年头,没点特长技能还真不行。比如我,玩得一手好乐器----退堂鼓,打得特好。
三、系统间增加依赖
在系统里增加内部依赖、外部依赖、第三方依赖。总之,能依赖的,决不自己动手写。
老K有今天的成就,主要是因为我的动手能力强,我这辈子只有两件事不会:这也不会,那也不会。
四、不做服务补偿
很多东西,错过就是错过,没法补偿,这就是人生。
作为架构师,要有哲学高度。
所以说小伙子,你只看到了第二层,而你把我只想成了第一层,实际上我是第五层,你知道我讲的是什么意思吗?
五、不做幂等设计
凭啥后端接口要做幂等性设计?前端提交的时候不做判断吗?全都丢给后端开发做?
大家都是打工人,人要脸,树要皮,电线杆子要水泥。
六、不设置超时
连接超时、读超时,有多大设置多大,不管内部调用还是外部调用,都设置成60分钟。
只要努力搞,没有时间搞不砸的事情。做不成时间的朋友,就做时间的炮友。
七、不控制流量
让流量来得猛烈一些吧,千万别限流,什么漏桶算法、令牌桶算法,那都不如啤酒桶算法----喝完就睡,爱谁谁。
还控制啥流量啊?你连体重都控制不了,趁早放弃吧。你看看八戒,走了十万八千里也没见瘦下来,而且,他还吃素。
八、不做监控预警
大家都是职场成年人,做好分内事,别多管闲事。
工作几年以后,我明白一个道理:熟练的运用“关我屁事”和“关你屁事”,可以省下人生80%的时间。
九、没有重试策略
服务调用失败,你还想重试?我可不是随便的接口。
人生不能重来,更不能乱来。
不信?你让医生,给你开点后悔药,再来杯忘情水,医生立马送你去精神病院。
十、不做系统隔离
千万别做系统隔离,要挂一起挂。
什么是真正的兄弟?就是当兄弟需要女人的时候,挺身而出做他的女人。
面对困男,要排除万男,迎男而上。
十一、代码同步调用
做系统就要步调一致、讲究和谐,尽量同步调用,多写bug。
通常我写bug的时候,喜欢中午写,知道为什么吗?因为早晚会有报应。
十二、不做热数据缓存
RPC的意义是什么?就是被调用啊。疯狂地调用,是对一个服务最起码的尊重。
你知道为什么大项目上线都要选个好日子吗?这么说吧,你认为上线以后还会有好日子吗?
十三、不做系统分级
对系统要一视同仁,不要区分核心系统、非核心系统,你有考虑过系统的感受吗?
如果你被分门别类,你会开心吗?回想起来,小时候我们都很快乐,就是因为那个时候的我们,丑和穷得都还不是那么明显。
十四、没有服务降级
服务降级就low了,就算宕机也要一起扛。
人生没有白走的路,如果有,那就是微信运动出bug了。
十五、无灰度和回滚方案
上线全凭运气,没有回滚方案!就是那么自信。
我这个人,长这么大没学到别的本事,就掌握了一项特殊技能,白天不用安眠药也能安眠,晚上不用兴奋剂也能兴奋。
论熬夜发布,我从来没服过谁。
十六、程序多做远程调用
能远程调用的,绝不本地调用,都5G时代了,网络延迟那点事不算什么。
再说了,做人要有点耐心,女朋友约会迟到一小时,你敢发火吗?
十七、不做熔断机制
炒股炒昏头了吧,做啥熔断机制?你问过韭零后吗?基金都绿成啥样了,他喊熔断了吗?
作为韭菜,学费还是要交的,趁年轻的时候多交点,这样到老了再交你就习惯了。
十八、不做代码扫描
要有工匠精神,自己代码自己review,机器哪里懂得欣赏你的代码艺术?
我那骚气的注释、奇妙的函数、神乎其技的Copy/Paste。每次看代码,都被自己的才华吓到。
十九、不做线上压测
上线就完了,后面的事情交给菩萨吧。
一分耕耘,一分收获。天下没有免费的午餐,所以我一般都睡到下午才起床。
结语
架构设计的骚操作还有很多,以上任意一项玩到极致,都足以把公司搞垮。架构师是最接近圣人的职业,优秀的架构师每天都三省吾身:早饭吃什么,午饭吃什么,晚饭吃什么。
最后,愿上帝保佑每一位吃饱饭的架构师。
相关推荐
- NET版本众多,傻傻分不清楚
-
面对.NET众多的版本,尤其还有几个名称的情况下,相信很多初学C#的开发人员都很困惑,搞不清究竟该怎么选择。下面就列举一下.NET的主要版本及其区别:.NETFramework(传统版本,仅适用于W...
- .NET Framework 和 .NET Core 有啥区别?如何选择?
-
.NETFramework和.NETCore都是由Microsoft开发的软件框架,用于创建Windows应用程序和Web应用程序。它们的主要区别在于:支持的操作系统:.NET...
- 「分享」介绍一款倍受欢迎的.NET 开源UI库
-
概述今天要带大家了解的是一款WPF的开源控件库MahApps.Metro。MahApps.Metro是用于创建现代WPF应用程序的工具包,它许多开箱即用的好东西。目前支持的NETFramework...
- .NET 5.0正式版发布:应用可在ARM64上原生运行
-
更多:o梵蒂冈图书馆频繁遭黑客攻击oNPM包被发现窃取敏感的Discord和浏览器文件o作者:硬核老王o(本文字数:712,阅读时长大约:1分钟).NET5.0正式版发布:应用可...
- 盘点8个热门.Net开源项目
-
一、SmartFormat:轻量级文本模板库,轻松替代string.Format项目地址:https://github.com/axuno/SmartFormatSmartFormat不仅继承了s...
- .NET与Java开发:一场从框架到应用实例的深度对决
-
在软件开发这片广袤的战场上,.NET与Java两大开发平台如同两位身经百战的将军,各自率领着庞大的开发者队伍,在不同的应用场景中大放异彩。今天,我们就来一场从框架到应用实例的深度对决,看看这两大平台究...
- TouchSocket:一个功能强大且易于使用的 .NET 网络通信框架
-
项目介绍TouchSocket是一个功能强大且易于使用的.NET网络通信框架,适用于C#、VB.Net和F#等语言。它提供了多种通信模块,包括TCP、UDP、SSL、WebSocket、Mo...
- 远离报错烦恼!深入全面掌握.NET Framework
-
由于Windows系统对.NETFramework这一系统组件有着极为特殊的要求,而部分应用软件及游戏对其的依赖性也近乎达到了驱动级的水准,使用或安装不当会遭遇许多“未知”的问题,因此如何掌握.NE...
- 想自己搭建.Net Web框架,开源项目太庞大看不懂,可以看这个教程
-
大家好,我是编程乐趣。一直以来,我都在运营知识星球,这个月也开始全职专心编写教程了。当时编写教程,就是发现很多程序员工作多年了,都没自己搭建过框架,也没接触过公司的框架底层代码。这就导致一些问题,无法...
- .NET 8 + React 18 一体化开发框架!苏州码农十年匠心打磨
-
开篇前言从2014年入行至今,从WebForms到MVC,从JavaScript到React/Vue,从.NETFramework到.NETCore/8,技术栈的变迁伴随了我整个职业生涯。去年,我...
- .Net Framework详解
-
相信有不少小伙伴遇到过这种情况:安装软件时提示.NetFramework未安装导致软件无法打开,或者需要安装.NetFramework4.0以上的组件。那.NetFramework是什么呢?....
- 系统小技巧:深入全面掌握.NET Framework
-
由于Windows系统对.NETFramework这一系统组件有着极为特殊的要求,而部分应用软件及游戏对其的依赖性也近乎达到了驱动级的水准,使用或安装不当会遭遇许多“未知”的问题,因此如何掌握.NE...
- 前端架构师成长之路:如何在 Vue 的计算属性中传递参数
-
在Vue中,计算属性(computed)是从其他响应式属性派生的属性,是用于自动监听响应式属性的变化,从而动态计算返回值。计算属性(computed)通常是一个没有参数的函数。当然如果需要像调...
- Vue2 vs Vue3:核心差异与升级指南
-
Vue3自2020年发布以来,凭借其革命性的改进迅速成为开发者关注的焦点。本文将从架构设计、API模式、性能优化等多个维度深入对比Vue2和Vue3的核心差异,并提供代码示例帮助开发者...
- 突发!Vue3 投屏神器引爆程序员朋友圈
-
【AlarmLevel】重要【AlarmTitle】突发!Vue3投屏神器引爆程序员朋友圈【AlarmOverview】最近GitHub上名为vue-screen-share的仓库突...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 若依框架 (41)
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- scrapy框架 (52)
- beego框架 (42)
- java框架spring (43)
- grpc框架 (55)
- 前端框架bootstrap (42)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle v (42)
- oracle字符串长度 (48)
- oracle提交事务 (47)