Package uno.xifan.id.generator.sonyflake
Class SonyflakeIdGenerator
java.lang.Object
uno.xifan.id.generator.sonyflake.SonyflakeIdGenerator
- All Implemented Interfaces:
IdGenerator
Sonyflake ID生成器的Java实现
Sonyflake是Sony公司开源的分布式ID生成算法,其结构如下: - 39位时间戳(精确到10ms,以自定义纪元为基准) - 8位工作机器ID - 8位序列号 - 8位备用位(默认为0)
特点: 1. 时间戳占39位,以10ms为单位,可使用174年 2. 工作机器ID占8位,最多支持256个节点 3. 序列号占8位,每10ms最多生成256个ID 4. 预留8位备用位,可用于业务扩展
- Author:
- ixiongdi
-
Constructor Details
-
SonyflakeIdGenerator
public SonyflakeIdGenerator()
-
-
Method Details
-
generate
Description copied from interface:IdGenerator生成一个唯一标识符。 每个实现类都应该根据其特定的生成策略来实现此方法。- Specified by:
generatein interfaceIdGenerator- Returns:
- 生成的唯一标识符,具体类型由实现类决定
-
idType
Description copied from interface:IdGenerator获取当前生成器的标识符类型此方法用于标识生成器使用的具体ID生成策略。每个实现类都应该 返回一个对应其生成策略的IdType枚举值。
- Specified by:
idTypein interfaceIdGenerator- Returns:
- 当前生成器的标识符类型
-