一次服務(wù)重構(gòu)上線后的反思

背景

我們的一個服務(wù)模塊使用websocket技術(shù)褂傀,通過長鏈接來協(xié)同廣播用戶的操作行為,但是服務(wù)職責不單一编检,邊界劃分不清晰胎食,承載了很多職責之外的業(yè)務(wù),所以決定對服務(wù)進行徹底重構(gòu)允懂,差不多是重寫厕怜。

經(jīng)過一個多月的努力,服務(wù)重構(gòu)完成蕾总,包括架構(gòu)粥航、集群方式調(diào)整,數(shù)據(jù)存儲生百、操作模型設(shè)計等递雀,經(jīng)過嚴格測試后上線,雖然核心業(yè)務(wù)可用蚀浆,但還是出現(xiàn)很多本不該出現(xiàn)的問題缀程,現(xiàn)總結(jié)一下搜吧,權(quán)當做最近一段時間工作的總結(jié),和對問題的反思杨凑,以后的工作中要引以為戒滤奈。

一、不要忽視簡單的業(yè)務(wù)邏輯撩满、代碼

無論業(yè)務(wù)多簡單蜒程,都不要小覷它,必須要有單元測試鹦牛,且要盡量覆蓋到每一個分支搞糕、每一行代碼勇吊,據(jù)說行業(yè)中行覆蓋率達到60%以上曼追,就已經(jīng)很好了,最好的是68%汉规。

刪除確認無用的代碼礼殊,問題往往出現(xiàn)在這些不經(jīng)意的地方,可有可無的代碼不僅給業(yè)務(wù)的理解帶來困難针史,給維護者增加維護成本晶伦,甚至影響整個代碼的質(zhì)量。因為你感覺這些代碼不重要啄枕,從而意識上就不會過多的關(guān)注它婚陪,結(jié)果往往就是因為這些代碼造成系統(tǒng)難用,或者不可用频祝,影響整個服務(wù)泌参。

二、重視偶發(fā)的常空、不起眼的exception

對于偶發(fā)的錯誤沽一,也要引起足夠重視,刨根問底漓糙,找到根本原因并解決它铣缠。否則,一旦上線昆禽,就會放大這些問題蝗蛙,造成整個服務(wù)不可用。有時只要在平時開發(fā)醉鳖、測試的過程中稍稍關(guān)注一下發(fā)現(xiàn)的問題捡硅,就能很快的解決它。

這次重構(gòu)后辐棒,在自測的過程中病曾,偶發(fā)出現(xiàn)一個序列化錯誤牍蜂,簡單看了一下錯誤拋出的地方,是調(diào)用第三方服務(wù)的泰涂,所以就沒有放在心上鲫竞,當時就感覺是第三方服務(wù)可能偶爾出現(xiàn)的返回數(shù)據(jù)格式問題,另外第三方服務(wù)也沒有修改逼蒙,一直在線上穩(wěn)定運行从绘,所以就沒有過多的關(guān)注。上線后是牢,該錯誤頻繁拋出僵井,就進行了回滾,經(jīng)查證原因是在解析第三方服務(wù)返回的數(shù)據(jù)時候驳棱,一個符號寫錯了批什,造成序列化失敗,如果在開發(fā)社搅、自測的過程中對這個問題關(guān)注一下驻债,根本就不會把它帶到線上,也不會造成服務(wù)回滾形葬,浪費了很多時間與精力合呐。

三、碰到的疑問要立即驗證確認

平時在開發(fā)笙以、自測的過程中淌实,會碰到一些自己不確定的地方,無論是業(yè)務(wù)猖腕,還是技術(shù)拆祈,都要及時確認驗證,不要想著隨后有時間了再說谈息,一旦有了這個想法缘屹,即便以后有時間了,你也不會去處理侠仇,這也許就是拖延癥吧轻姿,那么問題隨后就會進一步放大,導(dǎo)致服務(wù)不可用逻炊。

四互亮、多關(guān)注測試日志

服務(wù)提測后,多數(shù)RD會認為此時重點在QA余素,而自己相對來說就會輕松一些(*^__^*) 豹休,實際上此時RD也確實是比開發(fā)時的時候時間多一點。但是桨吊,如果你的想法是現(xiàn)在終于有時間來放松一下了威根,聊聊天凤巨、刷刷微信、微博洛搀,看看新聞啥的敢茁,等著QA來告訴你問題,那就大錯特錯了留美,千萬不要浪費此時的空閑時間彰檬。

此時,如果QA問題不多谎砾、或者沒有匯報問題的時候逢倍,RD的時間還是比較空余的,此時對RD來說是很好的時機景图,因為現(xiàn)在問題不多较雕,沒人打擾,才能夠真正的靜下心來好好想一想症歇,回顧一下還有沒有什么問題自己沒有注意到庆亡;一些棘手的問題當時考慮的是否全面鸯屿,是否有遺漏;一些邏輯是否能夠更加嚴謹?shù)瘸萏摇U驹谝粋€更高的層面看看是否還有能夠優(yōu)化激捏、完善的地方设塔,多看看測試日志,利用好這段時間远舅,能夠發(fā)現(xiàn)并解決很多問題闰蛔,不要等到上線后出問題讓自己后悔不已⊥及兀回過頭來看序六,上線的問題,其實測試日志中都出現(xiàn)過蚤吹,上線前有人關(guān)注一下例诀,就不會導(dǎo)致上線后問題的發(fā)生。畢竟QA是對功能進行測試裁着,很多不明顯的異常他們是不知道的繁涂,QA不反饋,不代表沒有問題二驰,QA也會有遺漏扔罪,也不能察覺到所有的錯誤,所以在QA測試過程中桶雀,RD也要多測試矿酵、多關(guān)心日志唬复,多思考,將問題殺死在搖籃之中全肮。

本次上線前盅抚,有2天時間,QA在進行整體的回歸測試倔矾,而RD都在放松妄均、浪費自己的時間,沒有一人去看測試日志哪自,結(jié)果上線后丰包,一堆錯誤日志,導(dǎo)致回滾壤巷,下來再看邑彪,這些錯誤在測試日志中早已經(jīng)存在,如果2天內(nèi)多多關(guān)注測試日志胧华,就不會將錯誤帶到線上寄症,造成上線失敗。

五矩动、不要抱任何僥幸心理

對于任何問題有巧,都不要抱有僥幸心理,說可能是環(huán)境的差異才導(dǎo)致的悲没,如果確實是環(huán)境問題導(dǎo)致的篮迎,也要拿出確實可信的理由,不要認為現(xiàn)在的問題上到線上就沒事了示姿,一定要刨根問底甜橱,找到根源,如果確實是環(huán)境的問題栈戳,要看看線上環(huán)境有沒有該問題岂傲,該問題是如何發(fā)生的等。通常情況下子檀,你感覺有問題的地方镊掖,也確實是有問題,無論什么環(huán)境命锄。

總得來說堰乔,這次重構(gòu)學(xué)會了很多東西,也讓自己對事物脐恩、對人的看法與以往有了很大不同镐侯,無論開始你認為多么復(fù)雜的事情,只要一步步認真的去思考、去動手苟翻,都會慢慢的明朗起來韵卤,最終解決它。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崇猫,一起剝皮案震驚了整個濱河市沈条,隨后出現(xiàn)的幾起案子诅炉,更是在濱河造成了極大的恐慌涕烧,老刑警劉巖议纯,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肝集,居然都是意外死亡包晰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門赫模,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人斩祭,你說我怎么就攤上這事摧玫∥芟瘢” “怎么了芍躏?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長柏肪。 經(jīng)常有香客問我,道長谬俄,這世上最難降的妖魔是什么溃论? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮算灸,結(jié)果婚禮上驻啤,老公的妹妹穿的比我還像新娘骑冗。我一直安慰自己贼涩,他們只是感情好遥倦,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布烟央。 她就那樣靜靜地躺著疑俭,像睡著了一般钞艇。 火紅的嫁衣襯著肌膚如雪哩照。 梳的紋絲不亂的頭發(fā)上飘弧,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天稽穆,我揣著相機與錄音柱彻,去河邊找鬼。 笑死骂澄,一個胖子當著我的面吹牛吓蘑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坟冲,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼溃蔫!你這毒婦竟也來了健提?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤伟叛,失蹤者是張志新(化名)和其女友劉穎私痹,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡紊遵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年账千,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暗膜。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡匀奏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出学搜,到底是詐尸還是另有隱情娃善,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布瑞佩,位于F島的核電站聚磺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏炬丸。R本人自食惡果不足惜瘫寝,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稠炬。 院中可真熱鬧焕阿,春花似錦、人聲如沸酸纲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闽坡。三九已至栽惶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疾嗅,已是汗流浹背外厂。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留代承,地道東北人汁蝶。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像论悴,于是被迫代替她去往敵國和親掖棉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容