跨多个独立服务器生成唯一标识符

4

我有一个系统,有4个服务器,每个服务器都有自己的.war文件托管在上面。每次用户调用特定函数时,服务器都应该生成一个唯一的ID。在某个时间点,所有四台服务器可能有数百个活动实例。

有没有办法在每个服务器上生成完全独特且不由其他服务器生成的ID?

答案:可以使用UUID(通用唯一标识符)来生成唯一的ID。每个服务器可以使用自己的UUID生成器来创建唯一的ID,而不会与其他服务器生成的ID重复。


4
我猜UUID.randomUUID.toString()应该是安全的。 - Ken Chan
1
是的,我也会使用UUID。生成两次相同的机会是1/170亿。否则,可以使用UUID和当前的毫秒日期。您还可以将主机名添加到ID中,以确保该ID不是由其他服务器生成的。 - heiwil
你可以使用硬件ID/地址(MAC地址)+毫秒时间。 - Naveen Avidi
1个回答

0
你可以使用UUID。这是一种用于通用标识符的定义格式。当我有多个服务器时,我使用它。或者你可以使用时间、随机数和一些系统特定数据(如IP、MAC地址)的组合...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接