分布式id


为了解决分布式系统中id的一致性,采用Twitter-Snowflake算法来生成id。

SnowFlake算法用来生成64位的ID,刚好可以用long整型存储,能够用于分布式系统中生产唯一的ID, 并且生成的ID趋势递增。ID可分为5个部分:

0 - 41位时间戳 - 5位数据中心标识 - 5位机器标识 - 12位序列号

可通过工具类IDGenerate生成

IDGenerate.nextId().get();

分布式ID可能存在如果服务器时间回拨,会导致ID重复, 通常会在5位数据中心标识 - 5位机器标识上做处理.

例如每次生成一个不一样的机器标识, 改进版可以参照 UidGenerator