This question在一般意義上回答它,並沒有指定如果UUID生成不集中會發生什麼。如果在設備上而不是在服務器上生成,UUID4有多獨特?
我最近看到了一種架構,其中所有設備(1M + ios和android)都生成UUID4密鑰(使用它們自己的生成器函數/庫),同步時這些密鑰在服務器的數據庫中被標記爲唯一。我擔心,由於大約一百萬臺設備會嘗試在本地生成,碰撞的機會將高於上述問題中描述的情況。
我之前使用過集中式UUID,但是對於這種類型的分佈式系統來說是新的,所以我採用了一個素數生成器的類比,在不同的環境中並行運行,這會使最終結果不是主要/唯一的。如果我的理解錯誤,請糾正我。
此外,請在分佈式環境中分享任何有關gotcha's和使用UUID的優秀文章。
編輯:此回答與Python UUID generation有關碰撞和使用UUID1而不是UUID4的討論。我想知道是否有任何文件證實這與Android和iOS設備的隨機性。而且,我應該如何計算/估計碰撞的概率。
但UUID4規範說「生成一個隨機的UUID」。 Mac地址和時間戳是UUID1和UUID2,它們未被使用。我的困惑是特定於UUID4的。在1M機器上生成的隨機UUID是多少。 – crazydiv
查看我的答案更新。 – rmaddy