sschiau/particle

2.2.2 2017-10-20 01:06 UTC

This package is auto-updated.

Last update: 2024-09-17 00:01:11 UTC


README

Build Status Latest Stable Version License

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);