電商交易系統高併發分布式訂單號生成策略

2022-04-05 18:50:54 字數 976 閱讀 7113

商交易系統高併發分布式訂單號生成策略

一、要求:

1.全域性唯一性,不能重複

2.資訊保安加密防止使用者根據id規則獲取資料

二,策略

1.uuid  唯一識別碼,16個位元組 (128位)

uuid 有幾個實現版本,比如jdk 自帶的uuid

優點:生成簡單,不占用寬頻,本地生成,資料遷移不影響。

缺點:字母儲存,無序,無法保證趨勢遞增,查詢慢,不可讀

2.snowflake(雪花twitter開源 分布式id演算法)

41位元組毫秒+10位元組的機器id+10版本號,國內有很多平台有將其實現和優化

優點:本地生成,不佔寬頻,毫秒在高位,低位是趨勢遞增。

缺點:依賴時鐘 如果時間回撥可能會重複,效率比uuid慢

3. 資料庫

優點:**實現簡單,效能ok,數字排序,可讀性強

缺點:受限於資料庫,單點故障,擴容麻煩,需要插入後才能獲取id增加查詢資料庫主從延遲master才能查到

4.redis 集群

格式:12位=年2位+當年第幾天3+小時2+自增5

優點:不依賴資料庫,靈活,沒有單點故障,效能優於資料庫

缺點:網路資源,需要增加額外服務外掛程式

總結:uuid

token  ,id等

※※snowflake

elk,mq,業務系統

※※※※

資料庫併發不大,業務增長不快

※※※redis

業務系統

※※※※※

高併發,分布式電商訂單號生成

優點 簡單 uuid.randomuuid 缺點 1.使用者不友好,無序,不可讀 2.索引關聯效率較低,查詢慢 3.分布式集群情況下有機率重複 在資料庫集群環境下,不同的資料庫節點可以設定不同的起步值 相同的步長值來實現訂單號唯一 tab a 起步值1 步長值10111 2131 41tab b 起...

分布式環境下訂單號的生成策略

什麼是分布式 如專案分布 訂單模組,商品模組,支付模組。由於每個模組之間的訪問壓力的不同,可以根據需要各自部署在不同數量的伺服器上,如訂單模組3臺,商品4臺,支付模組2臺。分布式環境下訂單號的生成要求 必要 全域性唯一 其他的 趨勢遞增,高併發,高可用,資訊保安,長度 過長會造成儲存壓力過大 生成策...

開源分布式量化交易系統 初識ZeroMQ

由於下面章節會涉及到程式間通訊,會用到zeromq通訊中介軟體,所以先介紹下zeromq的幾種通訊模式,並且通過幾個小demo來初步了解它的應用。發布和訂閱模式,該模式主要用於 中心在收到交易所 並封裝好訊息後通過pub方式發布給客戶端,客戶端通過sub方式訂閱需要接收 的合約。推拉模式,該模式主要...