baidu / uid-generator

UniqueID generator
Apache License 2.0
5.46k stars 1.55k forks source link

为啥不把delta seconds和worker id换个位置? #85

Open Ourwlsg opened 1 year ago

Ourwlsg commented 1 year ago

CachedUidGenerator有可能使用未来到时间,(对于单个实例应用来说)当服务立刻重启后,worker id+1,但是开始时间有可能回到上次的最大时间之前,导致生产的Uid不是单调递增的

dugreen commented 12 months ago

是的,不止服务重启会产生影响,系统的时钟回调,在服务重启后也会出现这个问题。可能作者设计的时候,并没有考虑到这些,感觉也还好,有 parse 方法,可以解析后,分析两个id的先后顺序。