『互聯(lián)網(wǎng)架構(gòu)』軟件架構(gòu)-解密電商系統(tǒng)-秒殺消息隊列異步下單(79)

原創(chuàng)文章滞诺,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『互聯(lián)網(wǎng)架構(gòu)』軟件架構(gòu)-解密電商系統(tǒng)-秒殺消息隊列異步下單(79)

上幾次主要說了高并發(fā)大流量項目所涉及到的技術(shù)點和技術(shù)方案谴忧,調(diào)優(yōu)需要注意的一些參數(shù),秒殺訂單接口緩存的概念,通過redis的方式沾谓,redis需要進行原子性委造。

秒殺優(yōu)化

使用緩存可以大大的提高我們系統(tǒng)的性能,但是需要考慮到周全均驶,可能帶來數(shù)據(jù)的不一致性争涌,所以要根據(jù)業(yè)務(wù)的場景和業(yè)務(wù)的邏輯,良好的維護它辣恋,如果漏了就會產(chǎn)生服務(wù)的不一致。產(chǎn)生線上的bug模软。

  • 地址信息

正常的下秒殺單子的時候伟骨,需要先維護好地址信息,下單的時候需要提供對應(yīng)的地址信息燃异。也可以將這些地址信息添加到redis中携狭,當用戶登錄的時候的默認從redis中獲取地址信息,這樣就可以增加性能回俐,但是還有個問題逛腿,用戶的地址會登錄后發(fā)生變化,也就是在用戶針對地址發(fā)生變化的時候仅颇,維護當前用戶redis的地址单默。

  • 下單校驗

如果庫存有50個,請求過來5050個忘瓦,最后下單成功了50個搁廓,但是其他5000個都要走一遍查詢流程是不是不應(yīng)該,應(yīng)該讓他走一半就結(jié)束耕皮,不應(yīng)該走到最后的庫存查詢就才結(jié)束境蜕,應(yīng)該在庫存查詢之前要走各種session校驗,地址校驗凌停,信息校驗各種粱年。應(yīng)該在前面有個jvm內(nèi)存的校驗直接就先告訴他庫存已經(jīng)少于等于0了就不要在往下面請求了,這樣服務(wù)壓力不會很大罚拟。也就是在內(nèi)存中jvm中有個變量來進行判斷通過hash的方式台诗。

  • 下單異步化

下單后,可以進行消息處理中舟舒,讓消息消費端慢慢消費消息中間件內(nèi)的消息拉庶。使用異步化下單后不能直接跳轉(zhuǎn)到支付頁面,可能訂單還沒生成秃励,還在排隊氏仗,肯定不能直接返回待支付頁面,跟他返回排隊中。異步隊列效果最佳就是底層庫存比較大的情況下皆尔。這樣吞吐量比較大呐舔。

(二)前端控制

原來的時候下單完畢后,直接跳轉(zhuǎn)到支付頁面慷蠕。如果是做成異步下單珊拼,就不能直接跳轉(zhuǎn)到支付頁面了,而是需要在等待頁面流炕,等待頁面有個js方法定時循環(huán)的調(diào)用獲取這個用戶是否在數(shù)據(jù)庫存在單子澎现,如果存在就直接跳轉(zhuǎn)支付頁面,如果不存在就一直等待每辟,在等待的過程中如果庫存為0剑辫,說明已經(jīng)搶完了,失敗了渠欺,沒有最后落單妹蔽,就直接通過客戶下單失敗,秒殺結(jié)束挠将。千萬沒查數(shù)據(jù)庫了胳岂,查redis就可以了。

PS:BAT這種大公司里面的秒殺系統(tǒng)舔稀,一般涉及到7,8個中心乳丰,每個中心之前可能有2個開發(fā)人員,一個秒殺系統(tǒng)大概15,16個人員镶蹋,在加上單元測試人員成艘,功能測試人員。分布式并發(fā)問題就是很復(fù)雜贺归,復(fù)雜就是在細節(jié)里面淆两,用數(shù)據(jù)庫是可以查詢出來實時的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拂酣,一起剝皮案震驚了整個濱河市秋冰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婶熬,老刑警劉巖剑勾,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赵颅,居然都是意外死亡虽另,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門饺谬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捂刺,“玉大人,你說我怎么就攤上這事∽逭梗” “怎么了森缠?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長仪缸。 經(jīng)常有香客問我贵涵,道長,這世上最難降的妖魔是什么恰画? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任宾茂,我火速辦了婚禮,結(jié)果婚禮上拴还,老公的妹妹穿的比我還像新娘刻炒。我一直安慰自己,他們只是感情好自沧,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著树瞭,像睡著了一般拇厢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晒喷,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天孝偎,我揣著相機與錄音,去河邊找鬼凉敲。 笑死衣盾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的爷抓。 我是一名探鬼主播势决,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蓝撇!你這毒婦竟也來了果复?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤渤昌,失蹤者是張志新(化名)和其女友劉穎虽抄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體独柑,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡迈窟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忌栅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片车酣。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骇径,到底是詐尸還是另有隱情躯肌,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布破衔,位于F島的核電站清女,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晰筛。R本人自食惡果不足惜嫡丙,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望读第。 院中可真熱鬧曙博,春花似錦、人聲如沸怜瞒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吴汪。三九已至惠窄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漾橙,已是汗流浹背杆融。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留霜运,地道東北人脾歇。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像淘捡,于是被迫代替她去往敵國和親藕各。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

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