snowflake算法说明:
(a) id构成: 42位的时间前缀 + 10位的节点标识 + 12位的sequence避免并发的数字(12位不够用时强制得到新的时间前缀)
注意这里进行了小改动: snowkflake是5位的datacenter加5位的机器id; 这里变成使用10位的机器id
(b) 对系统时间的依赖性非常强,需关闭ntp的时间同步功能。当检测到ntp时间调整后,将会拒绝分配id
*注:此sdk在snowflake算法调用失败的时候,会使用Java自带的随机数算法来代替,以保证业务系统的连续性。
public static void main(String[] args) {
String id = ElevocIdGenerator.uuid8();
}49568404
public static void main(String[] args) {
String id = ElevocIdGenerator.uuid16();
}1803264956849853
public static void main(String[] args) {
String id = ElevocIdGenerator.uuid32();
}20180326113234495685615493320704
public static void main(String[] args) {
String id = ElevocIdGenerator.uuid64();
}2018032611342298134985027466447814478109523598834209932408631434
本项目遵循Apache协议,完全开源,文档齐全,永远免费(商用也是)