2022 年终总结

前言

2022,虽然磨磨蹭蹭了许久,但还是腾出时间来做年终总结了。

虽然 2021 年终总结终究还是没写,可能是太忙了,也可能是学未有成,不敢还江东父老。

不管怎么样,2021 年对我而言就是潜心修炼的一年,不闻窗外事的一年。

这种专注把我底子打得很牢,以致于 2022 年我厚积薄发,高屋建瓴,势不可挡。

工作

0 到 1

说是 0 到 1,既是指我自己,也是指工作。

虽然此前,我也喜欢做从 0 到 1 的事情,但其实也属于测试范畴罢了。

比如一些此前没有测试介入的底层复杂业务,我从 0 到 1 梳理整个架构并设计完善的测试方案和流程,并开发了很多工具和脚本来验证测试和提效。

比如一些自动化测试工具平台,我从 0 到 1 结合业务痛点,并利用一些新技术去高效解决问题痛点,打开新的格局与思考。

就算有开发其实也不过是测试 70% 开发 30% 罢了。

所以当听说有机会来参与开发云原生压测平台,就果断有鹅选鹅了。

虽然入职交接之后 git pull 完了只有 "Django 登录页面" 的初始代码,但也没有打击到我,反而有种海阔凭鱼跃的激情。

犹记得刚开始的疯狂岁月,比如跟其他团队敲定完共建的合作,对方提出基于 blazemeter taurus 这个通用压测引擎去做适配,希望我们能靠拢。

然而后面等我设计开发匹配完以后,就再也没有合作过,反而因为 taurus 本身的性能缺陷和一些限制,让我费了不少劲去做排障优化。

后面愈演愈烈,我当机立断就决定砍掉了这部分技术债,直接拥抱原生 jmeter 去重构适配,平台性能和脚本适配稳定性一下子提高一大截。

比如第一次发版前夕,部分排期给实习生的需求延误影响了进度,于是我通宵了一晚上写完保障顺利发布。

虽然很有孤勇者的感觉,但也感觉到了技术前瞻性与流程标准化的重要性。

于是借着业务耦合以及进一步融入云原生的口号,我将原来单一的后端开始拆分微服务,技术栈也由 python 迁移到 go 开发,主导了整个重构。

为了便于培养新人以及定标准流程,我特意基于 gin 写了规范需求开发的脚手架,并通过 go 语言语法特性和 demo 演示,让实习生和新人尽可能去避免容易犯的错误。

而微服务的解耦,既简化业务流程的复杂性,又降低了局部环节引发整个链路不可用的风险。

而技术栈迁移到了 go 以后,与集群交互的方式不再是简单粗暴的 kubectl 命令行,而切换成 client-go ,对 err 的处理有了进一步的兜底和修复手段。

简而言之就是一本万利的事情。

所以后面就有了更多的时间去思考如何从 1 到 100 的过程。

与之前做过的自动化平台不一样的是,之前开发的工具平台最多也只是给内部团队十几人用罢了,什么可靠性稳定性局限性统统不需要考虑,只要能提效解决业务痛点即可。

而现在做的平台是提供给很多前线 ISV/SSV 的人在用,且承担的压测任务是诸如广交会,各省市健康码这种级别的项目,对可靠性稳定性甚至是性能都要求极高。

不仅如此,从前线反馈过来的很多业务痛点,如何高效率低成本的实现,如何在技术和业务之间做平衡,如何保障可靠性稳定性,如何性能优化,这些其实才是对我的更大挑战。

所以从刚开始的 "测试" 心态,到 "开发" 心态,再到 "Owner" 心态,从刚开始的 "测试开发" 职能,到 "产品开发测试运维架构" 的 "全干" 职能,承受了很多,也收获得更多。

这也让我更坚信,老鼠抓老鼠,只能在同一维度,只有成为黑猫白猫,才能降维打击,举重若轻。少一份偏见,便多一份眼界。

当然,第一次强制触发这样的思考并获得成长,是在产品上线不久之后就收到的白帽子安全工单。

以至于后面在设计接入私有集群架构的时候,我都要重新梳理一遍 istio 的流量安全管理特性,为所有的跨集群通信都开启 TLS 认证并设计自签 CA 授权管理。

所以后面平台在承担了各省市健康码压测集群接入的多次使用后,我也再没有收过这方面的安全工单,至少目前还没有,话不说满。

1 到 100

如果说 2021 更多是 0 到 1 的一年,那么 2022 则是在探索 1 到 100 的一年。

年头的时候主要在攻坚 istio 服务网格跨地域账号多集群通信方案优化适配落地,年中的时候主要在优化 jmeter 分布式架构瓶颈,优化压测机的池化设计,利用 loki 弥补 influxdb 在日志检索方面的缺陷,年底的时候在适配信创 ARM 的部署。

这算是三个重要的主线吧,中途其实还穿插着各种健康码压测护航保障,性能排障优化,业务流程优化,系统稳定性优化等等。

简而言之就是练就了一颗强大的心脏,半夜三四点被喊醒也能快速定位到 bug 紧急发版修复。

当然大部分 bug 其实还是在 istio 服务网格跨地域账号多集群通信方案优化的适配落地,这种涉及到多方组件还是比较脑壳疼的问题。

比如通信完整链路涉及组件包括 "vault + cert-manager + cert-manager-istio-csr + postgresql + k8s-issuer + istiod + eastwest-gateway + virtualservice + distinationrule + envoy + cluster-proxy",能快速定位 bug 及修复也无它,唯手熟耳。

当然后面经历了我多次优化和稳定性的建设,以及自检的修复措施,出现 bug 的概率也越来越低,逐渐趋于稳定,这也是比较开心的一件事。

当然更开心的事,当我抽离业务把方案优化包装成通用落地方案后,详情见 Istio 跨集群网络通信的落地实践 ,后来有位天美 j5 的老哥看了我的方案惊为天人,还特意来找我探讨了一下,也想引入来解决一致性哈希相关问题。

另外两个主线的事情就中规中矩没啥好说,做了也主要是为了优化性能和降本增效,比如用更少的服务器提供更大的压力,更低的资源提供高效的日志检索,更低的部署成本提供跨 AMD & ARM 的通用部署适配。

简而言之就是以前调侃你行你上现在我是真行真上了。

生活

旅游

聊完工作,可以聊点轻松的话题了,比如旅游。

今年国庆还是梭哈了一把跟女朋友去云南玩,主要是憋了好久没有去玩了,且那时还没有 "要放开" 的征兆,甚至朋友圈里还有 "深圳国庆将会静默" 的谣言。

嗯,本来已经买好 10 月 1 日深圳直飞大理的机票,然后就退了瞬间请了 9 月 30 号的假大一早速润。

速润是好,就是没有直达,反而还横生波澜。谣言真可恶。

后面改的路线是先宝安 T3 飞重庆 T2,再重庆 T3 飞 大理。

问题就在重庆 T2 到重庆 T3 居然不是连着的,需要出站之后坐几站地铁才能到。

我在重庆 T3 门前被拦了下来,因为渝康码没有同步粤省事的核酸记录,安检保安不给我过去。

然后我又打开了云南的健康码,发现是有同步粤省事的核酸记录,看来云南还是爱我的,只是重庆不爱罢了。

一顿苦口婆心地与保安交涉,一番电话连打各种工作人员,反正没有什么卵用,去云南的飞机反而快截止安检了。

后面灵机一动,我用四川话跟保安再次交涉一番,保安终于同意给我们记录报备一番,就可以过去了。

看来艺多不压身,鲁迅诚不欺我。差点云南计划就要胎死腹中改道重庆火锅七日游。

国庆云南天气最好的就是 1 号那天,所以那天就安排来环洱海了。

懒人旅游一般不折腾,我在携程上居然发现现在的旅游业还有包车服务了,以前记得好像还没有怎么见过。

环洱海的包车司机还挺幽默的,一路上讲了挺多段子,去了挺多比较好的观景点,当然讲得最绘声绘色的还是泸沽湖的 "走婚艳遇"。

记得去玉龙雪山的包车司机,也是讲这段最绘声绘色。看来八卦终究是刻在 DNA 上。

不过最终还是没去泸沽湖,当然原因肯定不是因为是跟女朋友一起去玩的,主要是行程安排香格里拉和泸沽湖得二选一。

不体验一把香格里拉的窒息有点可惜,再加上去香格里拉还不是一帆风顺,激起我还真要去一去的决心。

10 月 1 号下午时候突然发了政策说行程卡有深圳的不能去香格里拉,然后我默默悲伤地退掉了香格里拉的车票酒店等,想着去泸沽湖也成。

结果到了晚上又可以?

体验了一把朝夕令改,可还成。

当然这并不影响环洱海的心情,因为这天的天气太好了,甚至还看到了洱海的落日。

想念这一天的好天气,第二天去爬苍山洗马潭,真的是冒雨登顶,氧气罐做伴。

以为这就是极限了,不,苍山洗马潭只有 3900m,后面还有玉龙雪山的 4506m 的安排。

广东人还是挺受不了这种寒冷,也可能是我本人怕冷,不过能看到玉龙雪山有雪,也算幸运,虽然微弱得差一点融化了。

当然于我而言最喜欢的还是香格里拉的转经筒。可能是因为当年年轻得还是文青的时候,就很喜欢的一段话。

那一天,
我闭目在经殿的香雾中,
蓦然听见你诵经中的真言。
那一月,
我摇动所有的转经筒,
不为超度,只为触摸你的指尖。
那一年,
我磕长头匍匐在山路,
不为觐见,只为贴着你的温暖。
那一世,
我转山转水转佛塔啊,
不为修来生,只为途中与你相见。

这种又中二又文艺的范,拉出来就能代表青春伤痛文学。

简而言之就是大理两天,香格里拉三天,丽江三天。

摄影

今年突然就开始了摄影的爱好,当然并不是因为要做女朋友私人摄影师这种子虚乌有的原因。

年中入手了佳能 m6 mark2,后面为了拍进阶人像又配置了 "EF-M 32mm f/1.4" 的镜头,经历了长达几个月的磨练,终于从 P 档的新手进阶为 M 档的菜鸟(好像没有什么可喜可贺的)。

然后云南就顺便验证了一下实战的能力!



简而言之就是在女朋友纯纯工具人的帮助下出师了!

唱歌

可能我的唱功和我写代码一样六,也可能是错觉。

今年唱功没有什么大的进步,可能已经到了瓶颈,主要是在优化质量了。

原来习惯鼻腔共鸣和胸腔共鸣,现在把气息又往下放了一点,用腹部来支撑气息,彻底固定了发声的喉位。

效果显而易见,高音质量更稳定,固定了发声喉位疲劳感也降低了很多。

虽然今年左盼右盼盼到了杰伦有生之年的新专辑,但是心心念念地还是 04 年那个阳光小伙。

但是姐姐是真的没有让人失望 hhh 疫情放开了什么时候来深圳开演唱会呢!

疫情

守护了两年的健康码压测,随着政策的放开,估计要慢慢成为历史了。

但是问题不大我还有手办!

虽然现在还没有羊,但感觉马上要羊了,毕竟周围的同事差不多都已经羊了个羊,我还在坚守岗位。

本来想着早羊早超生,哪想到就快混进决赛圈,日常买药等发烧。

世界杯

不是特别关注世界杯,但是感觉梅西夺冠这个事情还挺有意思的,尤其是看到一段话非常苟同。

巴西队每个人都想超越内马尔,
葡萄牙每个人都想证明没有 c 罗他们也行,
只有阿根廷全队都想成就梅西,
所以阿根廷一定是冠军!

让我想到了我王者荣耀赛季末单排上分的场景,老匹配到类葡萄牙的队友,不由自恋一叹,我是梅西!快保我 ad 能赢!

养猫

今年养猫了,ny12 蓝金渐层小妹妹,猫舍说这是 1/32 的概率,怎么计算 AaBb 我就不得而知了。

取名叫招财,小猫咪这么可爱当然要叫招财猫!

未来再养个狗,取名叫进宝,这样招财进宝一家就整整齐齐了。


犹记得刚出生还是小小一只偎依在妈妈怀里的 "小粉熊",眨眼间就有女初长成,可以端端正正地拍证件照了。



现在在手把手教小猫咪写代码,为我代工指日可待!

尾声

记得我还在我的技术交流 QQ 群说,只要年底前写了年终总结发到 testerhome 的群友就可以找我参与抽奖活动,我挑一篇出来赠送兔年纪念企鹅公仔或者任意企鹅公仔。

本意还是鼓励大家多写多总结吧,其实人的记忆还是很不牢靠的,唯有文字才能记录,漫长的历史,不也因为有了史记而传承。

写文字记录,不管是生活还是技术,可能就是我的个人习惯吧。

比如你问我第一次正儿八经写年终总结是什么时候,我肯定忘了,但是我写了就能考古 hhh

据 "史" 记载我的第一个年终总结是在 2013 年,我能答上来惊不惊喜意不意外 hhh

下意识又翻看了一下我的 18 岁,居然在为图书馆忘带卡借不到书而烦恼,真是一段年少轻狂的日子。

记得当年高考完了做的第一件事情就是把这三年写过的东西都精选一些出来整理成电子稿收录起来,没想到能叠成厚厚的一本书。

可能这就是思考的力量吧。

新的一年,何以解忧,唯有暴富。

那就祝愿大家早日暴富,也祝我早日暴富。


↙↙↙阅读原文可查看相关链接,并与作者交流