public class Snowflake extends Object
SnowFlake的优点是,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。
注意这里进行了小改动:
· Snowflake是5位的datacenter加5位的机器id; 这里变成使用10位的机器id (b)
· 对系统时间的依赖性非常强,需关闭ntp的时间同步功能。当检测到ntp时间调整后,将会拒绝分配id
public static Snowflake create(long workerId)
workerId - 机器Id@Deprecated public static Snowflake create(long workerId, boolean lowConcurrency)
workerId - 机器IdlowConcurrency - 是否低并发模式public long[] nextId(int size)
size - 获取大小,最多10万个public long nextId()
Copyright © 2019. All rights reserved.