多用户同一时间访问同一接口造成snowflake生成的id重复问题

snowflake:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。
在该接口中我将数据中心=0、机器ID=0,因此变化的只有时间戳的不同,当两个用户同一时间访问该接口(假设两台电脑的时间相同)会造成生成的id重复,请问可以怎么解决。

听过这个算法。但是不是很了解。

意味着每个节点在每毫秒可以产生 4096 个 ID

就算是节点,访问时间一样。一毫秒 4000多个id,也足足够了吧。DB做好唯一约束,保证存储不会出现相同ID的数据就好。出现相同的几率很小了,理论上来说有可能出现,程序捕获异常处理一下,我觉得这个概率是可以接受的。