我有一个关于在Docker容器和UUID生成中运行的应用程序的问题.
这是我们的场景:
目前我们的应用程序正在使用事件驱动框架.
对于事件,我们根据mac地址,pid,
时间戳和计数器生成UUID .
对于像CoreOS这样的分布式系统上运行容器(虽然机会非常非常低),无法保证用于生成UUID的所有参数对于每个容器都是唯一的,因为集群中一个服务器上的一个容器可以生成UUID使用相同的mac,pid,time-stamp和counter作为集群上的另一个容器.
实质上,如果这两个UUID都生成一个事件并将其发送到我们的消息总线,那么显然会发生冲突.
在我们的分析中,这种情况似乎归结为每个Docker容器上mac地址的唯一性.
所以坦率地说: