聚合支付,接了通道(第三方支付,包含支付寶h5和微信h5支付),兩個(gè)用戶掃碼支付,把一樣的流水號(hào)(假設(shè)流水號(hào)規(guī)則是日期時(shí)間 + 商家id + 6位隨機(jī)數(shù)字,因?yàn)楦犊畹挠脩粜畔⒛貌坏?,所以還是可能出現(xiàn)流水號(hào)相同的情況)傳給了通道,通道回調(diào)聚合支付,聚合支付校驗(yàn)這筆交易時(shí),發(fā)現(xiàn)金額不對(duì),這時(shí)會(huì)支付失敗。但是通道已經(jīng)把錢收了,而聚合支付卻顯示狀態(tài)收款失敗,并且聚合支付記賬也會(huì)出現(xiàn)錯(cuò)誤。如果不能百分之百保證流水號(hào)的唯一性,高并發(fā)時(shí)肯定會(huì)出問題的。
類似這樣的設(shè)計(jì):日期時(shí)間 + 商家id + 6位隨機(jī)數(shù)字,似乎不能保證流水號(hào)的唯一性,高并發(fā)情況下,如何保證流水號(hào)的唯一性呢?
------ 分割線 -----------------
目前的解決方案:
1.隨機(jī)數(shù)字
獲取隨機(jī)數(shù)字的算法,必須確保隨機(jī)數(shù)字的唯一性。
具體細(xì)節(jié),歡迎補(bǔ)充。
2.其他解決方案
歡迎補(bǔ)充。
----- 分割線 --------
參考文章
http://www.jianshu.com/p/331b...
既然樓主更新了問題,我也更新一下回答
我正好以前看到過相關(guān)回答,哪里看到忘記了,說個(gè)大概意思吧
正成訂單編號(hào)最簡(jiǎn)單的方案應(yīng)該是通過自增ID了來編號(hào)了,性能也不錯(cuò),最大的問題再于,容易暴露交易量,競(jìng)爭(zhēng)對(duì)手只要一看你的訂單編號(hào),就可以知道你一天大概有多少交易量了,如果對(duì)這方面無所謂的小型網(wǎng)站,個(gè)人蠻推薦這種方法的,因?yàn)樾阅芤膊诲e(cuò),
隨機(jī)數(shù)字,不用擔(dān)心暴露交易量了,鬼知道你最后幾位數(shù)字什么意思,
但是有一個(gè)性能上的隱患,假如你用6位隨機(jī)數(shù),理論上最大值是 999999 也就是 99萬,假如你的網(wǎng)站生意特別好,今天已經(jīng)產(chǎn)生了90w訂單了(除了淘寶,京東,12306還有誰?),這個(gè)時(shí)候你要做重復(fù)性檢測(cè)性能就會(huì)相當(dāng)差了。
所以這個(gè)時(shí)候你會(huì)相到,如果我預(yù)先生成好 100w的隨機(jī)數(shù)放redis里,要用的時(shí)候取一個(gè),性能和并發(fā)都不存在問題了。
但是這個(gè)方案還有問題,如果這天生意特別好,100w的隨機(jī)數(shù)用完了,接下來的人下不了單了,怎么辦,(樓主到底什么公司,這么好生意)
所以可以在這個(gè)解決方案之上再加一個(gè)系統(tǒng),用來檢測(cè)redis中的隨機(jī)數(shù)余量,當(dāng)少于多少條的時(shí)候,增加一批新的進(jìn)去。
=========更新分割線,以下是原回答
日期時(shí)間 + 商家id + 6位隨機(jī)數(shù)字 一般來說夠了,如是不夠,升能位數(shù)唄8位隨機(jī)數(shù),9位?
你注意到了嗎,雙11支付寶交易號(hào)16位升至28位了
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。