我正在开发一些软件,将在全国范围内的多个实例中使用。像大多数使用登录功能的软件一样,我需要为每个用户提供一个唯一的ID。每个软件实例都需要完全独立运行,但很有可能最终会合并几个数据库。在这种情况下,我希望每个用户的ID在所有服务器上都是唯一的。
由于服务器之间没有通信(它们只服务于局域网),因此我认为,从精确到毫秒的时间戳生成ID可能可行。对于仅有数千而不是数百万用户的用户池,一个用户在另一个服务器上创建的毫秒数相同的概率非常低。
是否真的有任何方法可以保证在没有服务器之间通信的情况下,在所有服务器上都具有唯一的ID呢?
由于服务器之间没有通信(它们只服务于局域网),因此我认为,从精确到毫秒的时间戳生成ID可能可行。对于仅有数千而不是数百万用户的用户池,一个用户在另一个服务器上创建的毫秒数相同的概率非常低。
是否真的有任何方法可以保证在没有服务器之间通信的情况下,在所有服务器上都具有唯一的ID呢?