2022 年終總結

少年發表於2022-12-20

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 歲,居然在為圖書館忘帶卡借不到書而煩惱,真是一段年少輕狂的日子。

記得當年高考完了做的第一件事情就是把這三年寫過的東西都精選一些出來整理成電子稿收錄起來,沒想到能疊成厚厚的一本書。

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

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

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