基于时间的UUID在云环境中是否可能不唯一?

问题描述 投票:0回答:2

我可能完全错了,但我一直在阅读有关如何创建 UUID 的信息 https://www.famkruithof.net/guid-uuid-timebased.html.

通过使用时间戳和mac地址,它似乎是唯一的。我的问题是说我正在云服务器上运行一些网站,例如亚马逊网络服务。 AWS 可能有一台物理计算机,但他们从该物理计算机提供实例。假设他们有 10 个实例可用于该一台计算机,我将使用所有 10 个实例。然后,我在这 10 个实例中的每一个实例上创建一个 Web 服务器,并开始在每个实例上收到许多请求(10000/秒以上)。 Web 服务器为每个请求生成一个 UUID,该请求将进入数据库。那么,如果两个或多个实例在完全相同的时间(同一纳秒)收到请求,它们是否可能生成相同的 UUID,因为所有实例也具有相同的 MAC 地址?

cloud uuid
2个回答
2
投票

AWS实例通常是一个虚拟机,每个虚拟机都有自己的MAC地址。基础设施在正常情况下处理 MAC 地址生成,并且应该(在任何情况下)确保没有两个实例同时具有相同的 MAC 地址。


0
投票

理论上,可以考虑使用时钟时间和Mac地址的一个版本。如果生成得足够快,就有可能发生冲突

© www.soinside.com 2019 - 2024. All rights reserved.