1. 程式人生 > >電商系統的訂單號生成方案

電商系統的訂單號生成方案

訂單的生成需要

1.全域性的唯一性

2.自增長

3.長度的要求

4.具有一定的可讀性

5.保密性

訂單號的生成方案

    1.UUID                  2.資料庫自增             3.snowflake         4.redis

    還有分散式上面應用的方案

    1. moogdb objectid

    2. zookeeper znode

第一種方案

UUID(通用唯一識別碼)

這個類在javaapi中表示

  • 一個表示不可變的通用唯一識別符號(UUID)的類。 UUID表示128位值。

    這些全域性識別符號存在不同的變體。 該類的方法是用於操縱Leach-Salz變體,儘管建構函式允許建立UUID

    的任何變體(如下所述)。

    變體2(Leach-Salz)UUID的佈局如下:最重要的長度包括以下無符號欄位:

      0xFFFFFFFF00000000 time_low
     0x00000000FFFF0000 time_mid
     0x000000000000F000 version
     0x0000000000000FFF time_hi 
    最不重要的長度包括以下無符號欄位:
  • 生成UUID
     
      0xC000000000000000 variant
    public class UUIDService {
    	
    	
    	public static void getOrderNum() {
    		// 1.得到一個唯一隨機數
    		
    		UUID uid = UUID.randomUUID();
    		
    		System.out.println("INSERT INTO order_t (order_id) VALUES ('"+ uid+"');");
    		
    	}
    
    }


第二種方案

資料庫的自增長

相關推薦

系統訂單分表方案怎麼設計更好

題目背景: 之前做電商運營,打算轉行做開發,參加了幾個面試,幾乎每家都會問到大資料量時的解決方案。暫時不討論問這個題目的合理性,既然有需求,那自己就加強吧。所以基於目前個人做的一個系統,計劃向大資料量做擴充套件設計。 涉及的業務場景: (1)市場中有多個賣家(seller)

系統訂單生成方案

訂單的生成需要1.全域性的唯一性2.自增長3.長度的要求4.具有一定的可讀性5.保密性訂單號的生成方案    1.UUID                  2.資料庫自增             3.snowflake         4.redis    還有分散式上面應

java web系統在高併發下如何實現訂單生成唯一?

java web系統在高併發下如何實現訂單號生成唯一? 系統訂單號規則:XXXX(固定字元)+年(後兩位)月日+流水號。流水號每天重新從1開始。 系統訂單號產生唯一的方案有哪幾種?由於訂單號規則已經確定,無法使用時間戳及隨機數,有哪些方案可以使用? 注:資料庫mysql,訂單號不是訂單表的主鍵

系統設計之訂單

1. 前言 使用者交易將經歷一段艱辛的歷程,一般使用者感覺不到,實際程式是經歷了一段生死離別。具體付款流程如下 不(wo)是(gu)這(yi)張(chuan)圖(de),請看正經流程圖 之前的幾篇文章介紹了 購物車如何設計 使用者系統如何設計 商品系

分散式全域性唯一訂單生成系統-REDIS-日訂單億級

一、系統準備 1、單redis按照每秒50k的併發支援計算每日可處理數量為40億,高低峰折扣下來10億差不多。 2、最終支援的數量按時按單業務每秒最大訂單數來算 3、如果單redis無法支撐,那麼按業務分配redis即可(業務字首HASH分節點或者直接按業務分節點) 二、程式碼結構

系統VIP.com訂單分庫分表的實踐總結以及關鍵步驟

隨著電商系統VIP.com業務的快速發展,訂單量的不斷增長,原有的訂單儲存架構已經不能滿足公司的發展了,特別是在大促高峰期,原訂單庫已經成為搶購瓶頸,已經嚴重製約公司的發展。 唯品會舊訂單庫包含幾十張訂單相關表,舊訂單庫是典型的一主多從架構;主庫容量已接近伺服

系統中購物車-訂單-支付流程

原文地址:https://blog.csdn.net/Cpath/article/details/72872258/** * 電商 購物車--訂單--支付 */ #使用者登陸--未登入 #pc/wap #1、根據客戶端ip 設定session_id保證使用者唯一標

系統訂單系統

01概述訂單系統作為電商系統的“紐帶”貫穿了整個電商系統的關鍵流程。其他模組都是圍繞訂單系統進行構建的。訂單系統的演變也是隨著電商平臺的業務變化而逐漸演變進化著,接下來就和大家一起來解析電商平臺的“生命紐帶”。上帝視角訂單系統訂單系統的作用是:管理訂單型別、訂單狀態,收集關於

分布式系統唯一ID生成方案匯總

gen 傳輸數據 lee sleep gui 有效 很難 sha 調整 系統唯一ID是我們在設計一個系統的時候常常會遇見的問題,也常常為這個問題而糾結。生成ID的方法有很多,適應不同的場景、需求以及性能要求。所以有些比較復雜的系統會有多個ID生成的策略。下面就介紹一些常見的

系統Broadleaf文檔翻譯(六) - 主要實體main entities

這就是 顏色 tex cep 實現 target tro 定價 間接 主要實體 原文標題:main entities 原文出處:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts

開源 java 系統

details nbsp www href Lucene java 電商系統 tar 電商 shop++是基於spring、springmvc等主流框架開發,參考資料比較全面,上手容易; 比 javashop 代碼可讀性好. 適合二次開發 6、broadleaf基

“大型票務系統”和“實物系統”的系統邊界之間的差別與聯系

屬於 交互 所在 data- con 處理 營銷 ont 有助於 討論請移步至:http://www.zhiliaotech.com/ideajam/idea/detail/118 相關文章: 《今天你買到票了嗎?——從鐵道部12306.cn站點漫談電子商務

“大型票務系統”和“實物系統”按系統邊界分析各種業務形式

之間 經理 blog tar 討論 針對 物流運輸 通知 庫存 討論請移步至:http://www.zhiliaotech.com/ideajam/idea/detail/191 相關文章: 《今天你買到票了嗎?——從鐵道部12306.cn站點漫談電子商

B2C系統開發app平臺定制詳解

amp 聯系 良性 幫助 產品 人工 定期 abc 不同 B2C電商系統開發從標品到非標品體現的是用戶從追求功能價值到追求情感價值的變遷。在電商1.0時代,為用戶習慣培養階段,圖書和3C等標品更利於降低用戶的信 任成本。B2C電商app開發,同時,用戶對標品的消費更多追求的

優秀的開源系統有哪些

滿足 bsp lec 安全性 image 後臺 優化 tps jpg 信息技術的迅速發展,商家想在眾多的電商系統中選擇一款合適的並不是那麽輕易的事情,那麽為了能夠讓商家在選擇上減少時間,小編為你介紹幾款好的開源電商系統。 ECSHOP電商系統 基於PHP語言及MYSQL數

訂單生成函數

return 支付 pre 自增 date use func 增長 訂單 以下是我在做電商系統用的訂單號生成函數 ::/** * 訂單序列生成 16位 * $type支付/提取類型 * $usertype用戶類型 * $oid 訂單自增長 */public functi

130242014019-(2)-“系統某功能模塊”需求分析與設計實驗課小結

img 商品 歷史記錄 模型 需求分析 今天 ges 關鍵字搜索 識別 1)選題討論 今天主要討論的是電商系統中某一個功能模塊的分析,一個電商系統中有很多個功能模塊,如搜索、登錄、購物車等等。我們組選取了其中的最經常使用的搜索功能進行討論。 2)用戶故事討論 1.用戶可

130242014029(2)《系統某功能模塊》的需求分析與設計的課程小結

對象 nbsp 好的 .cn 階段 打開 strong 雷鳴 相同 《電商系統某功能模塊》的需求分析與設計的課程小結   上次課老師邀請到了王經理來為我們講解敏捷開發,為了讓我們可以更好的理解“敏捷開發”這個概念,王經理借助電商系統讓我們以小組的形式針對某個功能模塊進行需求

130242014059(2)《系統搜索模塊》的需求分析與設計的課程小結

你會 經驗 nbsp 哪些 發的 方案 似的 小夥伴 智能提示 9月30號,老師請來的企業經理給我們講關於敏捷開發的相關知識和流程,以下是我對我們組當時討論的一個心得總結: 1)分組情況介紹,小組分工合作情況介紹。   - 按照當時王經理的分組,我和我的小夥伴們是在第三組。

130242014030(2)“系統某功能模塊”需求分析與設計實驗課小結

img .com http 二級 電商系統 src 意義 感覺 用戶   這次課老師為了讓我們更加理解敏捷開發,特意請來了王經理給我們介紹。王經理通過讓我們分組,以小組的方式來體驗一下敏捷開發。   分組才用了報數,數字相同的為一組。小組裏沒有明確的分工,大家一起討論,再由