For high availability within and across data centers, machines generating ids should not have to coordinate with each other.
- PHP (tested on v7.1.8)
- Particle Id (64 bits) is composed of:
- time - 42 bits (millisecond precision w/ a custom epoch)
- configured machine id - 10 bits - up to 1024 machines
- sequence number - 12 bits - up to 4096 random numbers
You should use NTP to keep your system clock accurate.
Change const EPOCH in particle class to today epoch time w/ miliseconds (13 digits)
$machineID = 0; // Machine ID (aka Server ID no.)
Particle::generateParticle($machineID);
$particleID = '4611692470816737853';
Particle::timeFromParticle($particleID);