【问题标题】:create UUID that won't collide with other systems创建不会与其他系统冲突的 UUID
【发布时间】:2012-10-29 17:41:00
【问题描述】:

我正在使用 Python 标准 uuid 库。如果我的应用程序最终扩展到多台服务器,我应该怎么做才能确保 UUID 不会发生冲突,因为不同的系统将使用不同的机器 id?我应该使用哪个 UUID 生成器?

【问题讨论】:

    标签: python uuid


    【解决方案1】:

    uuid1() 应该足以满足您的需求,因为它考虑了主机 ID。

    在 RFC 4122 的 section 4.2.2 中,这是关键位:

    • 将节点字段设置为 48 位 IEEE 地址,其重要性顺序与地址相同。

    节点字段是 UUID 的最后 6 个字节,将反映相关主机的 MAC 地址之一。

    【讨论】:

    • 不是每台运行此应用程序的计算机都有不同的主机 ID 吗?从而增加碰撞的机会?
    • 为什么不同的主机ID会增加冲突的机会......?肯定每个主机都有自己的节点字段(如果正确填写)会阻止它吗?
    猜你喜欢
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    相关资源
    最近更新 更多