sschiau / particle
2.2.2
2017-10-20 01:06 UTC
Requires
- php: ^7.1.7
Requires (Dev)
- phpunit/phpunit: ^6.3
README
Particle
语言: PHP
64位基于时间的ID生成器
非同步
为了在数据中心内部和跨数据中心的高可用性,生成ID的机器不需要相互协调。
解决方案
- PHP (已在v7.1.8上测试)
- Particle ID (64位) 由以下部分组成
- 时间 - 42位(使用自定义纪元的毫秒精度)
- 配置的机器ID - 10位 - 最多1024台机器
- 序列号 - 12位 - 最多4096个随机数
系统时钟依赖性
您应使用NTP来保持系统时钟的准确性。
如何使用它
生成Particle ID
将particle类中的const EPOCH更改为今天的纪元时间(带有毫秒,13位数字)
$machineID = 0; // Machine ID (aka Server ID no.) Particle::generateParticle($machineID);
从Particle ID获取时间(带有毫秒精度)
$particleID = '4611692470816737853'; Particle::timeFromParticle($particleID);