今年初就開(kāi)始做一個(gè)項(xiàng)目,我負(fù)責(zé)移動(dòng)端的架構(gòu)開(kāi)發(fā)残黑,以及移動(dòng)微服務(wù)的開(kāi)發(fā)馍佑。
其中有一個(gè)時(shí)效性非常高的操作:掃碼。
要達(dá)到的標(biāo)準(zhǔn)是一秒鐘掃3個(gè)碼梨水。
在測(cè)試環(huán)境拭荤,速度是非常快的疫诽,遠(yuǎn)超過(guò)這個(gè)標(biāo)準(zhǔn)舅世,可以達(dá)到一秒鐘掃7個(gè)碼笼恰。
但等到項(xiàng)目發(fā)布上線后,意外的事情發(fā)生了歇终,由于測(cè)試環(huán)境數(shù)據(jù)量小,數(shù)據(jù)庫(kù)查詢(xún)速度快逼龟,而生產(chǎn)環(huán)境是海量數(shù)據(jù)评凝,查詢(xún)效率直線下降,2秒鐘才能掃3個(gè)碼腺律。
我們嘗試了各種方法奕短,什么多級(jí)緩存,異步掃碼匀钧,數(shù)據(jù)遷移翎碑,方案不停的在變化,唯一不變的就是效果不理想之斯。
隨著時(shí)間的推移日杈,用戶(hù)慢慢的習(xí)慣了這種低下的效率,就是說(shuō)佑刷,到這個(gè)階段莉擒,解決問(wèn)題的方法是忽視問(wèn)題。
但作為一個(gè)有追求瘫絮、負(fù)責(zé)任的程序員涨冀,顯然這是不能容忍的,我一直沒(méi)有放棄攻克這個(gè)難題麦萤。
經(jīng)過(guò)需求各種幫助后鹿鳖,最終確定一個(gè)相當(dāng)復(fù)雜,由多個(gè)部門(mén)協(xié)同的解決方案壮莹,經(jīng)過(guò)評(píng)估翅帜,我們認(rèn)為能大幅提高效率,只是要做的工作相當(dāng)復(fù)雜垛孔,時(shí)間跨度長(zhǎng)藕甩。
正當(dāng)我在努力的追著各相關(guān)方面落實(shí)這個(gè)方案的時(shí)候,有一天忽然發(fā)現(xiàn)周荐,掃碼的效率居然已經(jīng)達(dá)到了我們想要的標(biāo)準(zhǔn)狭莱,當(dāng)此時(shí)我還什么都沒(méi)做,確定的方案都還沒(méi)落實(shí)啊概作。
這是怎么回事腋妙,百思不得其解,內(nèi)心又喜又憂讯榕。
喜的是經(jīng)過(guò)這么多嘗試骤素,終于取得了滿(mǎn)意的結(jié)果匙睹。憂的是不知道怎么解決的,會(huì)不會(huì)出現(xiàn)反復(fù)呢济竹?
后來(lái)經(jīng)過(guò)一番追查痕檬,發(fā)現(xiàn)是兄弟部門(mén)新切了一套系統(tǒng),無(wú)意間解決了我們系統(tǒng)的老大難送浊。
真是有心栽花花不開(kāi)梦谜,無(wú)心插柳柳成蔭。
又想起日本稻盛和夫當(dāng)年在京瓷的一個(gè)故事袭景,當(dāng)時(shí)他負(fù)責(zé)一種新材料的研發(fā)唁桩,但一直找不到合適的粘合劑,嘗試很多次耸棒,都失敗了荒澡。他每天除了睡覺(jué)時(shí)間,腦子里都在想這個(gè)這個(gè)問(wèn)題与殃。
直到有一天单山,他被絆了一跤,發(fā)現(xiàn)腳上沾了一下松香奈籽,于是他想:嘗試了很多材料都不行饥侵,試試松香吧。
這次衣屏,他成功了躏升。
他把這次成功歸功于上帝的啟示。
但試想狼忱,如果他不是一會(huì)沒(méi)放棄膨疏,一直苦苦堅(jiān)持,會(huì)得到上帝的啟示嗎钻弄?