什么是雪花算法?

雪花算法:解决id应该怎么生成的问题,帮忙咱们主动生成id的一种算法。

原理:

生成一个 64 位的long类型的一个id。

  1. 最高1位符号位,固定为0,代表负数,1代表正数
  2. 前面41位存储一个毫秒级的工夫戳2^41/(1000606024365)= 69.73年
  3. 前面10位机器标识,最多能够部署2^10=1024台机器
  4. 最初12位为自增的计数序列号,用于保障同一毫秒工夫戳下、同一机器生成的id尽量不反复,最多各异存储2^12=4096个序列
长处:

性能强,每秒可生成百万个不反复 id。
毫秒数在高位,自增序列在低位,整个ID都是趋势递增的
不依赖第三方库或者中间件。
在内存中进行,效率高

毛病

机器时钟回拨时,会导致反复ID生成。