吳 潔
(上海市歐冶云商股份有限公司,上海 201900)
隨著鋼鐵電商業(yè)的不斷發(fā)展,限時(shí)搶購(gòu)作為一種新的交易方式,對(duì)于鋼鐵這樣一個(gè)巨無(wú)霸的傳統(tǒng)行業(yè),無(wú)疑是一種大膽的革新。由于限時(shí)搶購(gòu)這種網(wǎng)絡(luò)促銷(xiāo)行為能夠在短時(shí)間內(nèi)聚集大量人氣,所以對(duì)企業(yè)具有極高的商業(yè)價(jià)值。但也由于很多鋼鐵電商平臺(tái)對(duì)于搶購(gòu)模塊本身設(shè)計(jì)上的不足,使得在推廣搶購(gòu)商品時(shí),無(wú)法有效應(yīng)付因活動(dòng)時(shí)激增的用戶訪問(wèn)量導(dǎo)致的平臺(tái)運(yùn)行不穩(wěn)定問(wèn)題,如訪問(wèn)超時(shí)、響應(yīng)速度慢,甚至服務(wù)癱瘓等。限時(shí)搶購(gòu)模塊的建立對(duì)系統(tǒng)有非常高的要求,除了應(yīng)對(duì)在短時(shí)間內(nèi)網(wǎng)絡(luò)流量激增問(wèn)題的同時(shí),還要確保系統(tǒng)的穩(wěn)定性、高擴(kuò)展性、高并發(fā)性、安全性等。在高負(fù)載、高并發(fā)的情境下需要對(duì)系統(tǒng)進(jìn)行軟硬件方面采取各種優(yōu)化手段,保證系統(tǒng)的正常運(yùn)行。采用基于內(nèi)存的隊(duì)列排序技術(shù)建立鋼鐵交易搶購(gòu)系統(tǒng)。
限時(shí)搶購(gòu)系統(tǒng),采用前后端分離技術(shù),為保證高并發(fā)的及時(shí)響應(yīng),與原有電商交易流程進(jìn)行業(yè)務(wù)、應(yīng)用隔離,設(shè)計(jì)功能盡可能單一高效。按照功能分擔(dān),主要包括規(guī)則管理、搶購(gòu)資源管理、商品展示、搶購(gòu)處理、訂單處理五個(gè)模塊。提供面向運(yùn)營(yíng)人員的限時(shí)搶購(gòu)規(guī)則管理,面向賣(mài)家的搶購(gòu)資源場(chǎng)次投放、打包,面向買(mǎi)家的商品列表、詳情展示、報(bào)價(jià),出價(jià)響應(yīng)與處理、成交判定及訂單生成,以及面向所有用戶的搶購(gòu)查詢與報(bào)表等功能。
同時(shí),為解決買(mǎi)家盯盤(pán)問(wèn)題,提供自動(dòng)出價(jià)機(jī)器人功能供買(mǎi)家選擇使用,用戶可根據(jù)自己的訴求定制出價(jià)策略,并委托機(jī)器人代為出價(jià)。
限時(shí)搶購(gòu)系統(tǒng)的設(shè)計(jì)目的是為了給供應(yīng)鏈上下游用戶提供便捷的服務(wù),實(shí)現(xiàn)優(yōu)質(zhì)資源采銷(xiāo)過(guò)程的公平、公開(kāi)。針對(duì)用戶訴求,限時(shí)搶購(gòu)系統(tǒng)的主體功能主要體現(xiàn)在賣(mài)買(mǎi)雙方和運(yùn)營(yíng)管理等方面。
首先,面向賣(mài)家,提供搶購(gòu)資源投放設(shè)置,包括投放的場(chǎng)次、搶購(gòu)底價(jià)、最小加價(jià)幅度、加價(jià)時(shí)間控制、搶購(gòu)跟蹤等功能,根據(jù)賣(mài)家自定義的結(jié)果將選擇的資源以單個(gè)或者打包的形式投放到搶購(gòu)區(qū),給予賣(mài)家充分地自由度,根據(jù)資源的屬性自主定價(jià),實(shí)現(xiàn)銷(xiāo)售利益的最大化。
其次,面向買(mǎi)家,提供保證金在線充值、搶購(gòu)資源搜索及加購(gòu)、搶購(gòu)進(jìn)行期間出價(jià)及搶購(gòu)訂單跟蹤功能,實(shí)現(xiàn)買(mǎi)家以更加合理的價(jià)格買(mǎi)入所需商品,并通過(guò)查詢、下載功能對(duì)搶購(gòu)結(jié)果進(jìn)行跟蹤。
最后,面向平臺(tái)運(yùn)營(yíng)人員,提供限時(shí)搶購(gòu)時(shí)間、場(chǎng)次、次數(shù)、流拍處置等規(guī)則設(shè)置、搶購(gòu)公告管理、買(mǎi)家搶購(gòu)資格認(rèn)證等功能。針對(duì)不同的搶購(gòu)模式,支持對(duì)品種、場(chǎng)次、生效時(shí)間、參與方資質(zhì)等進(jìn)行方便靈活的自定義配置,并將買(mǎi)家須知信息通過(guò)維護(hù)的公告進(jìn)行發(fā)布。
限時(shí)搶購(gòu)系統(tǒng)的網(wǎng)頁(yè)如圖1所示。
圖1 搶購(gòu)系統(tǒng)首頁(yè)
本系統(tǒng)采用前后端分離模式,前端技術(shù)采用Vue框架,后臺(tái)采用Spring Boot+Dubbo的微服務(wù)架構(gòu)搭建,數(shù)據(jù)持久化使用Hibernate+MySQL完成。為了提高響應(yīng)性能,同時(shí)還使用了Redis緩存數(shù)據(jù)庫(kù)。這樣的組合可以保證更好的開(kāi)發(fā)效率、更高的系統(tǒng)穩(wěn)定性和可靠性。
系統(tǒng)的應(yīng)用架構(gòu)圖如圖2 所示。
圖2 搶購(gòu)系統(tǒng)架構(gòu)圖
客戶前端搶購(gòu)頁(yè)是專(zhuān)門(mén)的頁(yè)面,包括靜態(tài)的HTML和動(dòng)態(tài)的JS,都需要在CDN上緩存。
接層加過(guò)濾器專(zhuān)門(mén)處理?yè)屬?gòu)請(qǐng)求,當(dāng)超過(guò)系統(tǒng)承受范圍的時(shí)候,需要果斷阻請(qǐng)求的涌。
應(yīng)層獨(dú)立部署搶購(gòu)服務(wù),并使服務(wù)集群,支持平擴(kuò)展,讓“峰”請(qǐng)求分流到不同的服務(wù)器進(jìn)行處理。同時(shí)利用緩存和隊(duì)列技術(shù)減輕應(yīng)處理的壓力,通過(guò)異步請(qǐng)求的方式做到最終致性。
系統(tǒng)前端包括限時(shí)搶購(gòu)資源搜索、展示等輕應(yīng)用;后端包括搶購(gòu)主體功能(搶購(gòu)規(guī)則、場(chǎng)次配置、資源管理、出價(jià)與成交處理、訂單生成、搶購(gòu)跟蹤),與平臺(tái)其他中心的通訊和交互通過(guò)微服務(wù)調(diào)用方式來(lái)實(shí)現(xiàn)。
構(gòu)建該限時(shí)搶購(gòu)系統(tǒng)的主要工作包括對(duì)賣(mài)家端資源投放設(shè)置、搶購(gòu)時(shí)段設(shè)置、搶購(gòu)底價(jià)設(shè)置、加價(jià)幅度設(shè)置、加價(jià)時(shí)間控制設(shè)置功能和買(mǎi)家端搶購(gòu)資源搜索、提前加購(gòu)、搶購(gòu)出價(jià)、在線支付功能的構(gòu)建。
面向賣(mài)家端的資源投放功能支持用戶從普通資源區(qū)轉(zhuǎn)入,通過(guò)模板導(dǎo)入方式將資源移入搶購(gòu)資源區(qū),由賣(mài)家通過(guò)選擇資源在投放時(shí)自定義場(chǎng)次、搶購(gòu)模式(捆包/打包)、投放位置(商城/直營(yíng)),資源投放時(shí)同時(shí)獲取用戶搶購(gòu)交易偏好設(shè)置及營(yíng)業(yè)時(shí)間等校驗(yàn),將所選資源投放入限時(shí)搶購(gòu)區(qū),同時(shí)更新數(shù)據(jù)庫(kù)及索引數(shù)據(jù),待進(jìn)入搶購(gòu)時(shí)段面向買(mǎi)家開(kāi)放搶購(gòu),若資源流拍,自動(dòng)回到普通資源區(qū)進(jìn)行常規(guī)銷(xiāo)售。賣(mài)家資源投放流程如圖3所示,操作頁(yè)面如圖4、圖5所示。
圖3 賣(mài)家資源投放流程圖
圖4 賣(mài)家限時(shí)搶購(gòu)資源投放頁(yè)面
圖5 賣(mài)家限時(shí)搶購(gòu)資源規(guī)則設(shè)置頁(yè)面
面向買(mǎi)家端的搶購(gòu)功能支持買(mǎi)家同時(shí)參與多種商品的競(jìng)拍,每種商品對(duì)應(yīng)一個(gè)競(jìng)拍號(hào)。競(jìng)拍過(guò)程中,可以隨時(shí)進(jìn)行賬戶充值,未被鎖定的金額可由買(mǎi)方自由支配。搶購(gòu)系統(tǒng)提供搶購(gòu)資源搜索、提前加購(gòu)、搶購(gòu)出價(jià)、在線支付、訂單生成功能。競(jìng)拍結(jié)束后,對(duì)競(jìng)拍失敗的買(mǎi)家,將即時(shí)釋放其保證金。對(duì)競(jìng)拍成功的買(mǎi)家,系統(tǒng)將在20分鐘內(nèi)生成訂單供買(mǎi)家在線支付,并在全款支付完成后釋放保證金。買(mǎi)家搶購(gòu)相關(guān)流程如圖6所示,操作頁(yè)面如圖7所示。
圖6 買(mǎi)家限時(shí)搶購(gòu)功能流程圖
面向運(yùn)營(yíng)人員的運(yùn)營(yíng)管理端限時(shí)搶購(gòu)規(guī)則功能提供前端頁(yè)面,設(shè)置搶購(gòu)交易相關(guān)規(guī)則,包括針對(duì)不同賬套的搶購(gòu)次數(shù)限制、流拍后資源處置方式、系統(tǒng)搶購(gòu)場(chǎng)次定義、延時(shí)規(guī)則,搶購(gòu)模塊根據(jù)設(shè)置的基礎(chǔ)配置在資源搶購(gòu)、流拍、訂單生成環(huán)節(jié)進(jìn)行相應(yīng)處理。管理端搶購(gòu)相關(guān)流程如圖8所示,操作頁(yè)面如圖9所示。
圖8 買(mǎi)家限時(shí)搶購(gòu)功能流程圖
圖9 運(yùn)營(yíng)端搶購(gòu)規(guī)則維護(hù)頁(yè)面
本文提出的基于內(nèi)存的隊(duì)列排序技術(shù),構(gòu)建鋼鐵電商限時(shí)搶購(gòu)系統(tǒng)在投入運(yùn)行以后,運(yùn)行穩(wěn)定。用戶體驗(yàn)方面,因?yàn)榍捌谧隽吮容^全面的市場(chǎng)調(diào)研,充分集成了買(mǎi)家家雙方的行為習(xí)慣,操作界面便捷友好。系統(tǒng)性能方面,基于內(nèi)存的技術(shù)極大程度地提升了下單成交的速度,通過(guò)中間件的使用,在每場(chǎng)競(jìng)價(jià)結(jié)束后保證數(shù)據(jù)庫(kù)同步的準(zhǔn)確性。良好的架構(gòu)設(shè)計(jì)可以減少開(kāi)發(fā)難度和后期使用風(fēng)險(xiǎn)。對(duì)限時(shí)搶購(gòu)系統(tǒng)的研究,對(duì)主流大型網(wǎng)站為提高并發(fā)量和系統(tǒng)性能開(kāi)展相關(guān)工作也有借鑒意義。該模式的推廣應(yīng)用將為傳統(tǒng)的鋼鐵行業(yè)帶來(lái)新的發(fā)展機(jī)會(huì)。