共计 311 个字符,预计需要花费 1 分钟才能阅读完成。
什么是雪花算法?
雪花算法:解决 id 应该怎么生成的问题,帮忙咱们主动生成 id 的一种算法。
原理:
生成一个 64 位的 long 类型的一个 id。
- 最高 1 位符号位,固定为 0,代表负数,1 代表正数
- 前面 41 位存储一个毫秒级的工夫戳 2^41/(1000606024365)= 69.73 年
- 前面 10 位机器标识,最多能够部署 2^10=1024 台机器
- 最初 12 位为自增的计数序列号,用于保障同一毫秒工夫戳下、同一机器生成的 id 尽量不反复,最多各异存储 2^12=4096 个序列
长处:
性能强,每秒可生成百万个不反复 id。
毫秒数在高位,自增序列在低位,整个 ID 都是趋势递增的
不依赖第三方库或者中间件。
在内存中进行,效率高
毛病
机器时钟回拨时,会导致反复 ID 生成。
正文完