版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、高并發(fā)支付場(chǎng)景分析及設(shè)計(jì)、專(zhuān)題分享 -高并發(fā)支付場(chǎng)景分析及設(shè)計(jì) 1.1 背景大家好,我是 20XX 年加入永樂(lè)票務(wù),之前一直負(fù)責(zé)公司票務(wù)系 統(tǒng)的整體規(guī)劃、實(shí)現(xiàn)、優(yōu)化及改造。目前主要負(fù)責(zé)公司的基 礎(chǔ)平臺(tái)、支付平臺(tái)、消息平臺(tái)、云平臺(tái)、運(yùn)維平臺(tái)、風(fēng)控平 臺(tái)(交易)、 BI 數(shù)據(jù)分析平臺(tái)的研發(fā)管理工作。公司介紹:2015 年永樂(lè)科技成立, 隸屬于永樂(lè)文化集團(tuán), 是以集團(tuán)自身 多年的演出經(jīng)驗(yàn)與票務(wù)系統(tǒng)為基礎(chǔ),為劇院、場(chǎng)館和景區(qū)等 提供專(zhuān)業(yè)的行業(yè)解決方案的科技公司。 1.2 場(chǎng)景介紹永樂(lè)科 技架構(gòu)全景圖 李宇春每一年的 “WhyMe ”演唱會(huì)搶票大戰(zhàn)不僅致使票務(wù)網(wǎng) 站系統(tǒng)癱瘓,更是創(chuàng)下開(kāi)票 69 秒全場(chǎng)售
2、空的華語(yǔ)樂(lè)壇歌手 開(kāi)票紀(jì)錄?!?WhyMe ”第十年成都演唱會(huì),不管是對(duì)于李宇春本人還是所有喜愛(ài)李宇春的歌迷來(lái)說(shuō),都是不可錯(cuò)過(guò)的 微票兒(內(nèi)場(chǎng), 7000 個(gè)座位)與永樂(lè)(外區(qū), 32000 個(gè)座位) 兩家票務(wù)網(wǎng)站同步正式開(kāi)票。為保障正式開(kāi)票的順利進(jìn)行, 兩家票務(wù)網(wǎng)站同時(shí)模擬搶票,因在線人數(shù)眾多,網(wǎng)站瞬間癱 瘓,導(dǎo)致微票兒 170 臺(tái)云服務(wù)器其中的 36 臺(tái)宕機(jī)。微票兒 更是為此緊急追加 150 臺(tái)服務(wù)器保障正式開(kāi)票的順利進(jìn)行。十年之約” 。此次李宇春“ WhyMe ”年成都演唱會(huì),由據(jù)票務(wù)網(wǎng)站官方發(fā)布數(shù)據(jù)顯示,正式開(kāi)票后,兩家票務(wù)網(wǎng)站同時(shí)在線搶票人數(shù)高達(dá) 188 萬(wàn)人,微票兒(內(nèi)場(chǎng), 108
3、 萬(wàn)人 在線)永樂(lè)(外區(qū) 80 萬(wàn)人在線)。預(yù)售階段的統(tǒng)計(jì)訪問(wèn)量截 圖:正式階段的統(tǒng)計(jì)訪問(wèn)量截圖:1.3 問(wèn)題描述由于該項(xiàng)目同時(shí)搶票人數(shù)過(guò)多、導(dǎo)致公司原有業(yè)務(wù)系統(tǒng)、支付系統(tǒng)壓力爆發(fā)式增長(zhǎng)。所以在 2015 年 6 月,我們對(duì)整個(gè)業(yè)務(wù)系統(tǒng)、支付系統(tǒng)進(jìn)行了全面的架構(gòu)升級(jí),目前技術(shù)框架采用 +springboot+mybatis+dubbo ) +,技術(shù)xx 演唱會(huì)搶票開(kāi)始,小張順利完成下單, 迫不及待的點(diǎn)擊支付按鈕,發(fā)現(xiàn)沒(méi)有反應(yīng),由于擔(dān)心搶不到票,小張慌張的狂點(diǎn)支付按鈕,提示支付系統(tǒng)繁忙或異常,小張囧了。場(chǎng)景 演唱會(huì)搶票開(kāi)始,小張順利搶到 1張 200 元演出票,點(diǎn)擊錢(qián) 包支付按鈕,發(fā)現(xiàn)沒(méi)有反應(yīng),
4、由于擔(dān)心搶不到票,小張慌張 的狂點(diǎn)錢(qián)包支付按鈕 3 次,提示完成支付。隨后小張到我的 錢(qián)包余額中發(fā)現(xiàn),紅包余額為 200 元,小張囧了。場(chǎng)景xx 演唱會(huì)搶票開(kāi)始前,小張預(yù)先充值電子錢(qián)包1000 元, xxxx 演唱會(huì)搶票開(kāi)始, 小張順利完成下單, 迫不及待的選擇直 連 x 行支付,點(diǎn)擊支付按鈕,發(fā)現(xiàn)賬戶余額不足,小張又換 了一張卡支付成功 (此處需要重新綁卡、 驗(yàn)證等操作, 相對(duì)時(shí) 間較長(zhǎng) ),隨后小張到我的訂單中, 看到訂單交易狀態(tài)是已取 消,支付狀態(tài)是已支付, 小張又囧了, 心想我明明付款成功, 訂單為什么取消了呢,我還能不能有票。場(chǎng)景 4 xxx 演唱會(huì)搶票開(kāi)始, 小張順利完成下單, 迫
5、不及待的點(diǎn)擊支 付按鈕,成功跳轉(zhuǎn) x 寶完成支付。隨后小張到我的訂單中,看到訂單狀態(tài)是支付中,小張囧了,隨后登錄x 寶平臺(tái),發(fā) 現(xiàn)交易成功,小張又囧了。場(chǎng)景 5 xx 演唱會(huì)搶票開(kāi)始,小張順利完成下單,迫不及待的選擇 寶,點(diǎn)擊支付按鈕,發(fā)現(xiàn)沒(méi)有反應(yīng),由于擔(dān)心搶不到票,小張慌張的重新選擇 x 信,點(diǎn)擊支付按鈕完成支付,隨后小張到我的訂單中,看到訂單狀態(tài)是支付中,小張囧了,隨后登錄 x 寶平臺(tái),完成支付,小張囧了,心想我付了 2 次款,心 中頓時(shí)萬(wàn)馬奔騰。 1.4 解決方案 + 綜合上述問(wèn)題來(lái)看最主要 的問(wèn)題,來(lái)自服務(wù)之間的依賴、調(diào)用,需要重新規(guī)劃服務(wù)、 合理拆分服務(wù)。 + 下圖為服務(wù)治理整體思路
6、服務(wù)可用性方面見(jiàn)下圖),驗(yàn)證設(shè)計(jì):符合特征規(guī)范、黑名單的用戶過(guò)濾利用 redis 做計(jì)數(shù)器)限流設(shè)計(jì)(見(jiàn)下圖) ,采用分布式限 流:我們采用 nginx+lua 操作 redis 控制秒級(jí)并發(fā)數(shù)量(利用redis 的原子性),排隊(duì)規(guī)則先進(jìn)先出的原則,采用 redis 消息 隊(duì)列;應(yīng)用級(jí)限流: 我們采用 TPS/QPS 閥值控制限流, 防止 大量請(qǐng)求沖垮系統(tǒng)。令牌設(shè)計(jì)(見(jiàn)下圖) :可配合限流分發(fā) 令牌數(shù)量,我們分成兩個(gè)階段,第一階段用戶進(jìn)入提交訂單 頁(yè)面前,需交易系統(tǒng)根據(jù)用戶信息向分控系統(tǒng)發(fā)起一次申請(qǐng)token 的請(qǐng)求,分控系統(tǒng)將 token 保存到 redis 緩存中,為第二階段支付使用。 第
7、二階段交易系統(tǒng)帶著申請(qǐng)到的token 發(fā)起支付請(qǐng)求,支付系統(tǒng)會(huì)檢查 redis 中是否存在該 token ,如果存在,表示第一次發(fā)起支付請(qǐng)求,刪除緩存中token 后開(kāi)始支付邏輯處理;如果緩存中不存在,表示非法請(qǐng)求。通道 設(shè)計(jì)(見(jiàn)下圖) : vip 、大客戶或者提前把資金存入電子錢(qián)包 的用戶加強(qiáng)權(quán)重,根據(jù)交易金額,優(yōu)先進(jìn)入支付通道。緩存 設(shè)計(jì)(見(jiàn)下圖) :開(kāi)啟 web 服務(wù)器緩存,無(wú)狀態(tài)頁(yè)面靜態(tài)化, 查詢結(jié)果分級(jí)緩存, 定時(shí)覆蓋靜態(tài)頁(yè) (可手動(dòng) ),如有 CDN 則 推送靜態(tài)頁(yè)到 CDN 上 (會(huì)有延遲 )。數(shù)據(jù)庫(kù)設(shè)計(jì)(見(jiàn)下圖)數(shù)據(jù)庫(kù)的擴(kuò)展方案、并發(fā)鎖方案有很多,方案各有優(yōu)缺點(diǎn)。分布式事務(wù)(無(wú)
8、論是拆子系統(tǒng)、微服務(wù),首先考慮從功能上 拆分,單一職責(zé)高內(nèi)聚,盡量避免出現(xiàn)分布式事物問(wèn)題) 分布式事務(wù)成熟的方案有很多, 柔性事物 (兩階段、 三階段、 補(bǔ)償、異步通知、最大努力通知等等)舉個(gè)例子: 以上所有的操作需要滿足冪等性,冪等性主要是用于防止重 復(fù)提交的,因?yàn)槭聞?wù)操作的微服務(wù)是分布式部署的,即使有 事務(wù)的支持,也無(wú)法保證傳輸過(guò)程中會(huì)不會(huì)因?yàn)榫W(wǎng)絡(luò)或者其 他問(wèn)題引發(fā)的中斷(如:數(shù)據(jù)方已經(jīng)接受并提交了更新,但 由于網(wǎng)絡(luò)中斷,提交方并未收到成功更新的消息,這種情況程序一般會(huì)返回給用戶未成功的信息,而如果用戶錯(cuò)誤的 任務(wù)未成功,則會(huì)重新提交申請(qǐng),導(dǎo)致事務(wù)重復(fù)提交)Q & AQ :這種短時(shí)
9、間內(nèi)訪客不會(huì)無(wú)限制持續(xù)增長(zhǎng), 而且 賣(mài)的票也很集中,百萬(wàn)請(qǐng)求如果全部寫(xiě)入緩存不會(huì)占很多內(nèi)存,再異步分批內(nèi)存中讀取來(lái)處理,可不可行? A :待回應(yīng)Q:請(qǐng)教大神一個(gè)問(wèn)題,限流閾值怎么去設(shè)置呢?具體限流 有哪些緯度可以控制, 可以分享一下嘛? A1 :如果是合法的 訪問(wèn),限流不如分流,異步處理中保存好各階段的狀態(tài)很關(guān) 鍵(業(yè)務(wù)參數(shù)也屬于狀態(tài)一種) ,重復(fù)提交那種嚴(yán)格來(lái)講不 是限流,屬于正常的狀態(tài)控制 A2 :限流還是訂單數(shù),主要 是下單以及商品頁(yè)的壓力;重復(fù)提交那個(gè)不是限流,用的令 牌機(jī)制,漏斗型的 A3 :限流閾值一般是通過(guò),滑動(dòng)窗口估算出來(lái)的。如:服務(wù)壓測(cè)的并發(fā)數(shù)是100,服務(wù)處理平均耗時(shí)是 1
10、0 毫秒,這樣也可以算出一個(gè)閾值出來(lái)的,還有一種 就是應(yīng)用埋點(diǎn)的方式,通過(guò)對(duì)日志的分析,異步統(tǒng)計(jì)閾值。分流是很好的方案。座位也是分價(jià)位 緩存在不同的 redis 中A4 :這種肯定要異步。既然是異步那每一步其實(shí)可以獨(dú)立 來(lái)設(shè)計(jì)(當(dāng)然不同步驟間肯定有業(yè)務(wù)關(guān)聯(lián)) ,比如提交訂單請(qǐng)求這步我可以獨(dú)立出來(lái) 就當(dāng)做響應(yīng)百萬(wàn)并發(fā)的上傳服務(wù)當(dāng)然還有基本的狀態(tài)更新)。一個(gè)業(yè)務(wù)子系統(tǒng)(或者流行語(yǔ)叫服務(wù))只管與我業(yè)務(wù)相關(guān)的數(shù)據(jù),只修改或生成與我相 關(guān)的業(yè)務(wù)數(shù)據(jù),甚至不需要關(guān)心上一步誰(shuí)下一步是誰(shuí)。當(dāng)然 還需要一個(gè)全局協(xié)調(diào)跟蹤和驅(qū)動(dòng)的系統(tǒng),異步很類(lèi)似工作流 的概念(有些地方叫引擎) A5 :其實(shí)就是基于狀態(tài)機(jī)的,就 和
11、火車(chē)部一樣,出站就沒(méi)我毛事了。三、自由討論 3.1 直銷(xiāo) 銀行與II類(lèi)賬戶Q:各位最近有碰到電子賬戶被監(jiān)管的情況嗎?綁卡要驗(yàn)證 5 要素,但目前直銷(xiāo)銀行走的通道都是 4 要 素,不合規(guī) ,我這里是有幾個(gè)銀行被監(jiān)管盯上了 ,盯上了的要整頓。 A1 :電子賬戶要綁卡,只能綁一類(lèi)賬戶,加了這么個(gè) 驗(yàn)證;目前的第三方支付渠道綁卡,都沒(méi)這個(gè)要素;說(shuō)是央 行有個(gè)驗(yàn)證通道,但很不穩(wěn)定,基本沒(méi)法用 A2 :問(wèn)題是現(xiàn)在賬戶類(lèi)型還沒(méi)有可靠的渠道可以區(qū)分吧?央行的是批量的,也不所有的銀行都支持,所以目前基本沒(méi)啥用。A3 :我們有用戶綁二類(lèi)賬戶,能入金,但是無(wú)法出金,同名賬戶也A10:不能;二類(lèi)賬戶是不能轉(zhuǎn)賬的,代付到二類(lèi)卡是失敗的, 類(lèi)賬戶是可以出金的, 即可以消費(fèi) A9 :以下摘自百科:二三類(lèi)電子賬戶我們都改完了,但是目前沒(méi)有應(yīng)用場(chǎng)景,不知道能做什么。當(dāng)然我們小行做什么都慢悠悠的。A11 :于魯義:個(gè)人銀行賬戶分類(lèi)政策解讀及二類(lèi)賬戶的應(yīng)用3.2pingpong 國(guó)內(nèi)合作支付公司 Q :咱們這有知道 pingpong 在國(guó)內(nèi)合作的支付公司是哪家的么?A :待回應(yīng)3.3聚合/三方收 單商戶交易合法判定 Q :做聚合收單或者三方收單,對(duì)于商 戶這塊什么情況下可以判定交易合法有沒(méi)有些標(biāo)準(zhǔn)?規(guī) 則? A :待回應(yīng)3.4交易貸Q:有朋友做交易貸的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)血漿置換行業(yè)發(fā)展態(tài)勢(shì)及投資戰(zhàn)略建議報(bào)告
- 2024-2030年中國(guó)薺藍(lán)油行業(yè)發(fā)展現(xiàn)狀及投資競(jìng)爭(zhēng)力研究報(bào)告
- 2024-2030年中國(guó)航空運(yùn)輸行業(yè)十三五規(guī)劃及發(fā)展戰(zhàn)略研究報(bào)告版
- 2024-2030年中國(guó)膜產(chǎn)業(yè)經(jīng)營(yíng)模式分析及發(fā)展策略研究報(bào)告
- 2024-2030年中國(guó)肉制品加工行業(yè)投資兼并與重組整合研究報(bào)告
- 2024-2030年中國(guó)聚乙烯輸送帶行業(yè)應(yīng)用現(xiàn)狀與需求前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)羊毛衫行業(yè)營(yíng)銷(xiāo)模式及投資競(jìng)爭(zhēng)力分析報(bào)告
- 2024-2030年中國(guó)綠豆行業(yè)產(chǎn)量預(yù)測(cè)及發(fā)展規(guī)模分析報(bào)告
- 2024-2030年中國(guó)線性直流電源行業(yè)競(jìng)爭(zhēng)格局及發(fā)展?jié)摿Ψ治鰣?bào)告
- 2024-2030年中國(guó)純素蛋白粉行業(yè)營(yíng)銷(xiāo)策略與競(jìng)爭(zhēng)趨勢(shì)預(yù)測(cè)報(bào)告
- 商家入駐進(jìn)場(chǎng)協(xié)議書(shū)范本
- 爭(zhēng)做“四有好老師”-當(dāng)好“四個(gè)引路人”
- 4.19北朝政治和北方民族大交融 課件-2024-2025學(xué)年統(tǒng)編版(2024)七年級(jí)歷史上冊(cè)
- 機(jī)動(dòng)車(chē)商業(yè)保險(xiǎn)條款(2020版)
- 2024年江西省“振興杯”職業(yè)技能品酒師競(jìng)賽考試題庫(kù)(含答案)
- DL∕T 1764-2017 電力用戶有序用電價(jià)值評(píng)估技術(shù)導(dǎo)則
- 四年級(jí)上冊(cè)英語(yǔ)教案-UNIT FOUR REVISION lesson 14 北京版
- YDT 4565-2023物聯(lián)網(wǎng)安全態(tài)勢(shì)感知技術(shù)要求
- 幼兒園故事繪本《賣(mài)火柴的小女孩兒》課件
- 【工商企業(yè)管理專(zhuān)業(yè)實(shí)操實(shí)訓(xùn)報(bào)告2600字(論文)】
- HJ 636-2012 水質(zhì) 總氮的測(cè)定 堿性過(guò)硫酸鉀消解紫外分光光度法
評(píng)論
0/150
提交評(píng)論