public class Snowflake extends Object
分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
snowflake的结构如下(每部分用-分开):
0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000
第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年)
然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点)
最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)
参考:http://www.cnblogs.com/relucent/p/4955340.html
public Snowflake(long workerId, long datacenterId)
workerId
- 终端IDdatacenterId
- 数据中心IDpublic Snowflake(long workerId, long datacenterId, boolean isUseSystemClock)
workerId
- 终端IDdatacenterId
- 数据中心IDisUseSystemClock
- 是否使用SystemClock
获取当前时间戳Copyright © 2020. All rights reserved.