1 業(yè)務(wù)復(fù)雜度高于淘寶 1.1 動(dòng)態(tài)庫存 上海-南京-北京: 買上海-北京,就是一張票 買上海-南京,南京-北京,就是兩張票 1.2 選座功能 下完單還能選座位 1.3 線上+線下 淘寶只能線上。 1
1 業(yè)務(wù)復(fù)雜度高于淘寶
1.1 動(dòng)態(tài)庫存
上海-南京-北京:
- 買上海-北京,就是一張票
- 買上海-南京,南京-北京,就是兩張票
1.2 選座功能
下完單還能選座位
1.3 線上+線下
淘寶只能線上。
1.4 不停刷票
即使沒票了,還是會(huì)被刷。持續(xù)高并發(fā)業(yè)務(wù),需要更綜合的高并發(fā)設(shè)計(jì)。
1.5 杜絕超賣
2 業(yè)務(wù)量
- 2020年高峰期:一天的請(qǐng)求量大概1600億,平均180萬/s
- 平均一年售出30億張,高峰期日售票能力達(dá)到了2000萬張
- 高峰期1秒可賣出1300張票。淘寶雙11: 58萬筆/秒
3 解決系統(tǒng)忙
3.1 提高處理能力: QPS和TPS
- 堆積硬件
- 軟件:Gemfire 商業(yè)軟件分布式內(nèi)存數(shù)據(jù)庫
- 算法:模型、邏輯
3.2 削峰
- 業(yè)務(wù):驗(yàn)證碼、分時(shí)段、排隊(duì)(反正最后能買到就行,我等得起)
- 技術(shù):限流、異步
4 模型設(shè)計(jì)+邏輯實(shí)現(xiàn)
4.1 余票查詢
記錄站站余票。一列火車有5個(gè)站,可拆分成4+3+2+1=10條站站記錄。
將賣票變成01二進(jìn)制數(shù)的計(jì)算
4.2 座位購買
記錄座位銷售詳情。
一列火車有5個(gè)站A~E,1號(hào)座位: 0111(參照 4.1 最后的銷售詳情值),代表只剩A~B可買。
上面兩步要保證事務(wù)性。
【文章原創(chuàng)作者:美國服務(wù)器 http://www.558idc.com/mg.html提供,感恩】聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。