秒殺架構(gòu)優(yōu)化,產(chǎn)品折衷
最近有朋友問我,說我的文章里,總是提“脫離業(yè)務(wù)的架構(gòu)設(shè)計是耍流氓”。
每次都是架構(gòu)根據(jù)業(yè)務(wù)折衷,有沒有業(yè)務(wù)和產(chǎn)品由于技術(shù)難度太大來做折衷的?
當(dāng)然有,當(dāng)一個業(yè)務(wù)技術(shù)難度非常大的時候,可以通過業(yè)務(wù)和產(chǎn)品的優(yōu)化,來簡化系統(tǒng)架構(gòu)。
以“12306車票秒殺”為例,秒殺業(yè)務(wù)架構(gòu)難度大,業(yè)務(wù)和產(chǎn)品可以這么折衷:
case 1
一般來說,下單和支付放在同一個流程里,能夠提高轉(zhuǎn)化率。
對于秒殺場景,產(chǎn)品上,下單流程和支付流程異步,放在兩個環(huán)節(jié)里,能夠降低數(shù)據(jù)庫寫壓力。
12306,下單成功后,系統(tǒng)占住庫存,45分鐘之內(nèi)支付即可。
case 2
一般來說,所有用戶規(guī)則相同,體驗會更好。
對于秒殺場景,產(chǎn)品上,不同地域分時售票,雖然不是所有用戶規(guī)則相同,但能夠極大降低系統(tǒng)壓力。
北京9:00開始售票,上海9:30開始售票,廣州XX開始售票,能夠分擔(dān)系統(tǒng)壓力。
case 3
秒殺場景,由于短時間內(nèi)并發(fā)較大,系統(tǒng)返回較慢,用戶心情十分焦急,可能會頻繁點擊按鈕,對系統(tǒng)造成壓力。
產(chǎn)品上可以優(yōu)化為,一旦點擊,不管系統(tǒng)是否返回,按鈕立刻置灰,不給用戶機會頻繁點擊。
case 4
一般來說,顯示具體的庫存數(shù)量,能夠加強用戶體驗。
對于秒殺場景,產(chǎn)品上,只顯示有/無車票,而不是顯示具體票數(shù)目,能夠降低緩存淘汰率。
顯示庫存會淘汰N次,顯示有無只會淘汰1次。更多的,用戶關(guān)注是否有票,而不是票有幾張。
...
無論如何,產(chǎn)品技術(shù)運營一起,目標(biāo)是一致的,把事情做好,不存在誰是甲方,誰是乙方的關(guān)系。
脫離業(yè)務(wù)的架構(gòu)設(shè)計是耍流氓。
架構(gòu)難度大,產(chǎn)品也應(yīng)該折衷。
畫外音:秒殺業(yè)務(wù)的架構(gòu)優(yōu)化講過了,這次說產(chǎn)品上的優(yōu)化。
【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】