我应该检查 UUID 冲突吗?

Jer*_*erd 5 uuid

我正在创建一个程序,其中大量使用 UUID 来识别用户和组等内容。鉴于 UUID 已被占用的可能性极低,我是否应该担心发生冲突的可能性?

Gho*_*ica 3

这很大程度上取决于 A) 您的要求 B) 底层实现以及您的“库”提出重复 UUID 的“真实”机会。

示例:我正在开发一个软件堆栈,我们的客户正在运行多台“工作机器”W1、W2、...到 Wn。以及一台或多台“管理机”M1、M2。

这些工作人员创建由 UUID 标识的“对象”。我们完全信任“标准”库在那里创建这些 UUID - 因此:无需额外检查。

另一方面,这些管理器实例可以看到所有工作人员;为了避免他们级别上的冲突,我们确保每个工人都有一个 UUID;并且该 UUID 会被纳入工作计算机上生成的 UUID 中。

换句话说:如果您的 UUID 是在一个系统上生成和使用的;那么就没有太多理由担心。但是,当您的 id 需要在更大的上下文中保持唯一时,您可以考虑此类预防措施。