3 个版本 (稳定)
2.0.0 | 2022年1月2日 |
---|---|
1.0.1 | 2021年8月17日 |
0.1.0 | 2021年8月6日 |
#3 在 #guaranteed
8KB
68 行
该库基于Twitter的雪花格式,并进行了一些修改来生成雪花。
https://github.com/twitter-archive/snowflake/tree/snowflake-2010
更改
- 使用无符号128位整数
- 使用原子16位计数器,允许每毫秒生成多达65,536个ID
- 响应时间必须小于5微秒
格式
- 位0到63:Ferris纪元(01/01/2020 00:00:00.0000+00:00)以来的毫秒数。大约600,000,000年的范围。
- 位64到71:模型的类型(例如,用户、频道、公会)
- 位73到85:内部16位原子计数器
- 位86到93:生成此ID所使用的API版本
- 位94到109:生成此ID的节点
- 位110到127:未使用
库功能
time-safety-checks
:检查系统时钟自上次生成雪花以来是否回滚,如果是,则阻塞直到时间在最后一个雪花之后。增加了轻微的性能惩罚,但不是很明显。默认启用。