某公司新招了个牛逼的架构师后...

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

c75413d3c8aaea212ae9f593ed9bfba9.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:小姐姐味道

fd753af919f3220cf869727f558862f2.jpeg


起因

我对Linux非常的精通,尤其是脚本语言比如sedawkpython等,用起来更是炉火纯青。我把它作为自己一个非常特立独行的技能,一个和其他普通程序员区别开来的技能。所以在我写脚本的时候,我都会自豪的抬高我的头,鼻孔朝天冥思精悍的code。

比如,看到别人一遍遍的翻文档安装elasticsearch这个软件,xjjdog就浑身难受,就写了脚本来加快这个过程。

mkdir /data
useradd es -d /data/es
chown -R es:es /data
cat > /etc/security/limits.conf <<EOF
* soft nofile 65536
* hard nofile 65536
* soft noproc 65536
* hard noproc 65536
es soft memlock unlimited
es hard memlock unlimited
EOF
cat > /etc/sysctl.conf  <<EOF
vm.swappiness = 0
vm.max_map_count = 262144
EOF
sysctl -p
chown -R es:es /opt/elasticsearch

这种脚本能够让我快速知晓软件安装的要点,不需要再读那些冗长的文档。像这样的事情,我总是在做,久而久之,搞的自己好像很闲一样。

这几天看到小王一直在那里捣鼓excel,这些数据他已经处理了好几天时间了。客户需要从其他平台迁移到我们的平台,导出了一堆烂七八糟的数据,大概有三四十MB的样子。不知道怎么回事,清洗数据这个活儿,就落在了小王身上。

文件很大,公司的电脑很烂。小王打开之后,电脑的风扇就呼呼直转。他每次都需要使用ctrl+f找到不太正常的数据,然后把它么拷贝到另外一个文件中。数据多工期紧,昨天晚上,小王就加班干到23点多,直到夜的尽头。

总监对此专门进行了表扬。

f4da802bc4a9d23d6b6ae141e2e99246.jpeg

我坐在小王的旁边,自然不能对此坐视不理。常年养成的习惯,让我对低效的事情无法忍受,就如同一只常年奔跑的兔子忍受不了缓慢爬行的蜗牛。

只扫了一眼小王的需求,我就判定这个工期三天的任务,使用脚本只需要2个小时就能完成。我并不是乐于助人,实在是我非常的喜欢写这种脚本,还有脚本带来的这种速度差异的快感。

一个小时之后,我把调试好的python脚本交给小王。shell里一运行,正确的文件就出来了。好爽的感觉。

小王自然对我拜服,逢人便吹xjjdog如何牛x。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

被总监知道了

这个事情不知怎么就被总监给知道了,我被叫进了宽大的办公室。看到总监一脸阴沉的脸,我知道事情不妙,但并不知道症结所在。我刚入职这家公司,应该没有在不经意间触碰了不该逾越的底线,我的心中充满了迷茫。

“听说你帮小王解决了个问题“ 。总监说, “以后少写这样的东西“

“为什么?“ 我仿佛不太相信自己的耳朵, “脚本能显著的增加工作效率“

“就知道你会有这样的疑问。“ 总监严肃的脸缓和了下来,和我讲了一个架构师的故事。

a9dab8c69ab710b8530645bfcdd9b0b2.gif

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

一个架构师的故事

小宋曾经是这家公司的架构师。有很多三脚猫的架构师并不写代码,所以小宋成为了能码字的稀缺架构师。他的一个绝活就是写脚本,就像我现在干的事情一样。

脚本能增加效率,这是我多年的经验。但效率这两个字本身,就根本无法衡量。所以效率这两个字,无法被量化。即使你把工期从3天缩减到2个小时,那也不见得你的效率高,因为这只是零散的琐事中的一个小插曲,你省下的时间还是去摸鱼。你的这些效率,打破了正常的研发周期,也断送了想要拼搏的同学的梦想。所以, 增加效率 ,这种有实际功效的做法并不能登上大雅之堂,只能在小圈子里乐呵一下,最后只会变成一个口号。

小宋的脚本第一次是用在一个线上事故的处理上。当时,程序有一个BUG,数据库和缓存中一部分数据错乱,产生了不一致的情况。由于缓存分布在20多台机器上,就不能使用把所有缓存给清掉的方式。

业务经理很着急,经过讨论之后,决定开发定时任务,扫描所有的缓存和数据库中所有的记录,然后修正数据。数据量很大,程序也需要验证,估计修复时间至少需要两天。

小宋说,没那么麻烦。你只需要把问题发生期间,所有的业务日志给我就可以了。

接下来的三个小时,小宋从日志里过滤出了问题发生过程中所有被更新过的key。略一思索,就使用脚本完成了对这一批key的缓存删除操作,非常完美的解决了问题。

这件事之后,小宋就经常被请去写一些脚本来帮助处理疑难问题。他来者不拒,乐此不疲。

一切像是向着良性的方向发展,直到一次线上的故障。

公司的几百台机器,都是在aws平台上的ec2服务。使用ec2提供的api,可以做很多事情。但ec2的命令实在是太难以理解,所以小宋做了封装。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html

使用这个脚本,可以对部分、或者所有的机器,进行批量管理(比如加个分组,开个权限等),就不用登陆到后台做一些管理工作。每当小宋看到黑屏幕上流淌的字符,他就想,这就是效率的魅力。

脚本非常好用,于是得到了分发。有一个运维拿到了这个脚本,鬼使神差的想要在线上验证一把。

他向所有的机器发送了关闭命令。

公司立马就炸了锅,扯皮的事是难免的。但最后的矛头指向了小宋。

脚本是他写的,但他首先是一个架构师。一个架构师,可以不写代码,可以不出成绩,但必须要有风险意识。

可这些命令,并不是我提供的。这是aws平台提供的东西,我对此什么都没有做。去测试这些命令,和用不用这个脚本没有关系 。小宋争辩。

但命令确实是通过这个脚本发送出去的,也确实造成了后果。背后那些千回百转的曲折关系,没人会去研究,也没人会关心。那些平常享受小宋脚本的同学,此时也是默不作声,因为这种责任问题,如同效率问题一样,都是虚张声势,并没有明确的结果。

这种事情,小宋也是体验过的。比如提供了redis脚本,有人就喜欢运行FLUSHALL命令;提供了docker命令,有人就喜欢调用docker purge去做清理。这根本控制不住。

他认为,这是使用者的水平问题,而不是他的脚本问题。与总监吵了几架之后,小宋最后一气之下,愤而离职。

他直接删掉了这家公司所有人的好友,消失了。

总监的告诫

“所以,我是对你好,才会和你提这样的要求。比起风险来,这点效率带来的提升,真的是微不足道。 讲到这里,总监意味深长的看着我。”我现在就是及时的制止你的行为,免的步小宋的后尘“

我点点头,这个道理我懂。之前有家公司,就因为觉得Linux的学习成本大,命令危险,就选择了Window系统做服务器。宁可难受、付钱买授权、当2B,也不敢越雷池一步。拿着风险两个字挂在嘴边,这些道理都是一样的。

我突然觉得,这么多年我的信仰就要崩溃了。花了那么大的力气,把命令行学精,到最后落到个学无所用,真是悲哀。

“总监,不好了。 ,正在我想要表达些什么的时候,有个小伙子闯了进来, “线上有人使用ansible练手,把根目录的权限全部改成000了!“

3d6a6ab26e9c684fcfeb144e2154cb63.jpeg

我的脑子里立马出现了这样的命令,这次锅是linus torvalds的了。

chmod -R 000 /

谁知道总监笑了。“你刚来,不了解这里的情况。这个月已经发生好几次这样的事了。是时候换安全可靠的Windows了,我认识采购的人。”

我微笑着点头,不置可否,但虚心受教。

最后

我灰溜溜回到自己的工位,长叹一声,删光了公司所有的人。

今天就提交辞呈吧,毕竟,公司是找不到linus torvalds的,但能找到我。毕竟,ansible这个工具,是我前几天刚给推荐的。

所以,如果架构师是你,你会留下什么脚本呢?


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

4f7ba9e0048612bacb50cd509f099915.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

03e30c53d712e73db92195c8759a95f8.png

ba32971f4b997f9fc17370f53c43ec4f.pngf770497e711a0a46f9ba7d2f0fedc0d8.png6270ab544101c87d8f2d7b6205472a4f.png6f9dd6985d8df3bba90298acebae9fd0.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值