分布式系統全域性唯一ID

2021-08-27 05:54:44 字數 359 閱讀 6608

全域性的唯一流水id 可以將乙個請求在分布式系統中的流轉路徑聚合。生成唯一id有兩種方法:

持久型: 使用資料庫表自增欄位或者sequence 生成,為了提高效率,每個應用節點可以快取乙個批次的id ,如果機器重啟則可能會損失一部分id ,但是這並不會產生任何問題。

時間型:一般由機器號、業務號、時間、單節點內自增d 組成,由於時間一般精確到秒或者毫秒,因此不需要持久就能保證在分布式系統中全域性唯

一、粗略遞增等。

不太建議使用uuid來生成,uuid的生成與機器的mac有關,極限情況能可能會有問題。

vesta是一款通用的id產生器,網際網路俗稱統一發號器,它具有全域性唯

一、粗略有序、可反解和可製造等特性,參看專案:

分布式系統全域性唯一ID生成

在複雜分布式系統中,往往需要對大量的資料和訊息進行唯一標識。如在金融 電商 支付 等產品的系統中,資料日漸增長,對資料分庫分表後需要有乙個唯一id來標識一條資料或訊息,資料庫的自增id顯然不能滿足需求,此時乙個能夠生成全域性唯一id的系統是非常必要的。同時除了對id號碼自身的要求,業務還對id號生成...

分布式全域性唯一ID(二)

redis 實現分布式唯一id,其實這個也很簡單,主要使用redis string資料結構的 increment 方法。原理 使用increment方法,每次自加1,主要使用redis的高效能和單執行緒。實現方式 核心 如下,若是為了保證長度一致,其實可以預先初始化值。現在的這個是從1,2.逐漸遞增...

分布式系統全域性唯一ID簡介 特點 生成

在複雜分布式系統中,往往需要對大量的資料和訊息進行唯一標識。如在金融 電商 支付 等產品的系統中,資料日漸增長,對資料分庫分表後需要有乙個唯一id來標識一條資料或訊息,資料庫的自增id顯然不能滿足需求,此時乙個能夠生成全域性唯一id的系統是非常必要的。全域性唯一性 不能出現重複的id號,既然是唯一標...