0、引言
傳統(tǒng)的拍賣受限于地點(diǎn)和人數(shù)的限制,在線拍賣已經(jīng)成為人們拍賣的主要形式。通過在線拍賣可以讓人們不受空間和時(shí)間的選擇進(jìn)行,節(jié)約了大家的時(shí)間,提高了拍賣效率。目前雖然市面上有許多的拍賣系統(tǒng),但這些系統(tǒng)大多采用的是傳統(tǒng)的單體技術(shù)架構(gòu),前后端不能分離,前后端耦合系統(tǒng)的擴(kuò)展性不強(qiáng),不能對系統(tǒng)的模塊根據(jù)用戶的使用頻率進(jìn)行靈活的部署。此時(shí)在用戶量多的情況下很容易出現(xiàn)卡頓甚至崩潰死機(jī)的情況。因此采用微服務(wù)架構(gòu)可以很好的解決上述問題。在微服務(wù)架構(gòu)下通過將系統(tǒng)按照功能模塊進(jìn)行拆分成不同的微服務(wù), 每個(gè)微服務(wù)可以單獨(dú)部署。服務(wù)之間可以通過Feign等技術(shù)實(shí)現(xiàn)調(diào)用。本系統(tǒng)通過使用基于SpringCloud的微服務(wù)框架,可以有效的解決代碼耦合度高、后期系統(tǒng)可擴(kuò)展性差、系統(tǒng)并發(fā)度不高、不能靈活部署等問題
[1]。
1、技術(shù)路線
拍賣小程序以springcloud為軟件基礎(chǔ),遵循JAVAEE規(guī)范,以前后端分離的開發(fā)模式實(shí)現(xiàn)新建功能的構(gòu)建。系統(tǒng)前端采用業(yè)界流行、社區(qū)活躍的vue作為開發(fā)框架、前后端對接采用主流的restful接口對接方式實(shí)現(xiàn)對接。系統(tǒng)后端在處理數(shù)據(jù)的時(shí)候引入緩存機(jī)制,對于系統(tǒng)訪問熱點(diǎn)數(shù)據(jù)進(jìn)行緩存,這樣能有效的減少系統(tǒng)IO的開支從而在同等硬件條件下,實(shí)現(xiàn)最大用戶承載量以及最快的響應(yīng)速度和最好的用戶體驗(yàn)。
2、技術(shù)架構(gòu)
拍賣小程序以springcloud為基礎(chǔ),搭建以微服務(wù)形式為基礎(chǔ)的架構(gòu)體系,整個(gè)系統(tǒng)分為數(shù)據(jù)存儲微服務(wù)、緩存讀寫微服務(wù)、分布式文件讀寫微服務(wù)以及第三方對接接口微服務(wù)。
3、
功能模塊設(shè)計(jì)
競買人可通過關(guān)注公眾號進(jìn)入拍賣小程序,無需登錄即可閱覽拍賣會(huì),針對有意向參與的拍賣會(huì),根據(jù)標(biāo)的物類別不同,瀏覽板塊不同,每個(gè)板塊對于首次參與的標(biāo)的物類別需根據(jù)需要填寫公司資料及上傳資質(zhì)文件,點(diǎn)擊進(jìn)入詳情頁彈出競拍須知,點(diǎn)擊變?yōu)橐验?資質(zhì)文件上傳成功后待管理員審核,資料需重新上傳將收到公眾號推送修改提示,直到審核通過后,推送審核通過提示;審核通過后,頁面跳轉(zhuǎn)付款界面,競買人繳納報(bào)名費(fèi),報(bào)名成功后獲取到拍賣文件鏈接,競買人需自行打印拍賣文件簽字蓋章寄回,系統(tǒng)提示引導(dǎo)競買人及時(shí)寄出拍賣文件,最后,競買人將保證金轉(zhuǎn)賬銀行回單上傳,等待后臺確認(rèn),確認(rèn)保證金到賬后獲取隨機(jī)競拍號碼,等待開拍。
拍賣會(huì)開始前30分鐘、前2分鐘收到拍賣會(huì)開始提醒,拍賣會(huì)開始后按照正常競價(jià)流程進(jìn)行拍賣,在自由競價(jià)階段,競買人可以在倒計(jì)時(shí)內(nèi)加價(jià),在限時(shí)競價(jià)階段,每一位競買人的出價(jià)都會(huì)使得限時(shí)競價(jià)重新倒數(shù),加價(jià)可按照階梯進(jìn)行加價(jià),直到場上沒有競買人出價(jià),限時(shí)競價(jià)結(jié)束,拍賣標(biāo)的最終價(jià)格高于保留價(jià),標(biāo)的成交,未高于保留價(jià),標(biāo)的物流拍。
競買人界面顯示是否拍賣成交,未競買成功的競買人顯示:歡迎下次參拍;競買成功的競買人顯示:恭喜X(競買號)以XX(價(jià)格)成交,推送成交價(jià)款、傭金、評估費(fèi)等賬號信息(根據(jù)不同標(biāo)的確認(rèn)不同拍賣文件版本),并引導(dǎo)競買人在小程序自行下載拍賣成交確認(rèn)書。
3.1小程序端功能
小程序端實(shí)現(xiàn)了首頁、banner廣告、拍賣專場、拍賣會(huì)詳情,標(biāo)的物詳情,公告、我的拍賣會(huì)、我的保證金、我的競拍、我的關(guān)注等功能。
首頁主要為展示拍賣專場和歷史專場,拍賣專場為待開始,進(jìn)行中的拍賣會(huì),歷史專場為已結(jié)束的拍賣會(huì)。
拍賣專場及拍賣會(huì)詳情主要是展示拍賣的所有詳細(xì)信息。頂部顯示拍賣會(huì)的主圖,動(dòng)態(tài)實(shí)時(shí)顯示當(dāng)前拍賣價(jià)格。
主要用列表的形式展示公告的列表,列表上展示公告的主要信息,包括公告的標(biāo)題,時(shí)間、發(fā)布部門等。點(diǎn)擊公告進(jìn)去才展示公告的主要詳細(xì)信息。
3.2競買人端功能
競買人端實(shí)現(xiàn)了個(gè)人中心、實(shí)名認(rèn)證、綁定手機(jī)號、類別中心、拍賣中心、消息中心等功能。
實(shí)名認(rèn)證入口設(shè)置在個(gè)人中心,點(diǎn)擊實(shí)名認(rèn)證可以進(jìn)入實(shí)名界面。輸入用戶姓名、身份證號、上傳身份證人像面、上傳身份證國徽面等相關(guān)信息或進(jìn)行企業(yè)認(rèn)證。
認(rèn)證類別,需要用戶選擇自己是屬于哪個(gè)拍賣類別的用戶,然后提交審核。審核通過之后才能參與相關(guān)領(lǐng)域的拍賣。
拍賣中心以列表的形式展示自己參與競拍和參與報(bào)名的拍賣會(huì)記錄。
3.3拍賣小程序后臺功能
拍賣小程序后臺實(shí)現(xiàn)了用戶管理、權(quán)限管理、角色管理、廣告管理、資料審核管理、保證金管理、標(biāo)的類別管理、公告管理、拍賣會(huì)管理、統(tǒng)計(jì)報(bào)表、黑名單管理等功能,其中主要功能如下:
保證金管理記錄每個(gè)用戶提交的保證金,每次提交生成一次保證金記錄。支持按拍賣會(huì)名稱、拍品名稱、姓名、狀態(tài)、提交時(shí)間作為查詢條件,其中提交時(shí)間查詢條件用時(shí)間控件進(jìn)行填寫,防止用戶輸入錯(cuò)誤的時(shí)間格式。
拍賣會(huì)管理提供了拍賣師、競拍人等角色,提供拍賣會(huì)的增刪改查功能,并提供拍賣會(huì)名稱、類型、狀態(tài)、創(chuàng)建時(shí)間作為查詢條件,其中創(chuàng)建時(shí)間查詢條件用時(shí)間控件進(jìn)行填寫,防止用戶輸入錯(cuò)誤的時(shí)間格式。拍賣會(huì)列表以表格分頁形式進(jìn)行展示,展示字段包括拍賣會(huì)名稱、所屬公告、拍賣會(huì)類型、狀態(tài)、開始時(shí)間、創(chuàng)建時(shí)間。
消息提醒:拍賣會(huì)即將開始的時(shí)候,系統(tǒng)會(huì)提前5分鐘在右下角彈出提示框提示管理員拍賣會(huì)即將開始。
統(tǒng)計(jì)報(bào)表展示出所有的拍賣會(huì)信息,針對拍賣會(huì)場數(shù)、報(bào)名人數(shù)、溢價(jià)率、出價(jià)次數(shù)進(jìn)行多維度統(tǒng)計(jì)。
4、
系統(tǒng)建設(shè)難點(diǎn)
首先如何將拍賣小程序的功能合理拆分成多個(gè)微服務(wù)是一個(gè)挑戰(zhàn),服務(wù)劃分過細(xì)可能導(dǎo)致服務(wù)間調(diào)用復(fù)雜,管理難度增加。劃分過粗則無法充分發(fā)揮微服務(wù)架構(gòu)的優(yōu)勢。在本次項(xiàng)目實(shí)踐中,我們拆分為以下三個(gè)核心微服務(wù):拍賣會(huì)管理、報(bào)名管理、搜索服務(wù)。
其次微服務(wù)之間需要高效的通信機(jī)制,如RESTful API。如何設(shè)計(jì)合理的接口,確保服務(wù)間的數(shù)據(jù)一致性和事務(wù)性,是技術(shù)實(shí)現(xiàn)的關(guān)鍵,需要特別注意注冊、登錄,競價(jià)拍賣、拍賣查詢等接口大量用戶使用的場景。拍賣小程序需要快速響應(yīng)用戶的操作請求,特別是在最后出價(jià)的幾分鐘內(nèi),需要減少服務(wù)間的調(diào)用延遲,提高系統(tǒng)的響應(yīng)速度,最好能達(dá)到毫秒級別的響應(yīng)。其次,設(shè)計(jì)時(shí)鐘的同步也是一大難點(diǎn),服務(wù)器與手機(jī)間的時(shí)間誤差不能大于1秒。
拍賣小程序需要集成多個(gè)外部系統(tǒng),如短信平臺、OA系統(tǒng)、物流系統(tǒng)等。如何實(shí)現(xiàn)與外部系統(tǒng)的無縫集成,確保數(shù)據(jù)的安全性和一致性,也是技術(shù)難點(diǎn)之一。
拍賣小程序中包含大量的交易數(shù)據(jù)和用戶信息,需要考慮可擴(kuò)展的數(shù)據(jù)庫架構(gòu)和網(wǎng)絡(luò)架構(gòu),確保數(shù)據(jù)的高效讀寫和存儲,本項(xiàng)目中我們選擇了讀寫分離和負(fù)載均衡的可擴(kuò)展架構(gòu)設(shè)計(jì)實(shí)現(xiàn)。
拍賣小程序涉及敏感的用戶信息和交易數(shù)據(jù)的安全問題。如何采用加密技術(shù)、訪問控制等手段保護(hù)數(shù)據(jù)不被泄露或篡改,如何設(shè)計(jì)合理的交易機(jī)制,防止欺詐行為的發(fā)生等,另外根據(jù)項(xiàng)目特別,還通過了安全等保二級。