雪花算法
GeneSnowflakeUtil
基因雪花 ID 工具类,支持业务基因嵌入、解析与校验
GeneSnowflakeUtil
GeneSnowflakeUtil 位于 com.xlf.utility.utility。
它基于标准雪花 ID 重组位布局,嵌入 8 位业务基因(CRC8),让 ID 自带业务语义。
位结构
[1-bit sign][41-bit timestamp][4-bit machine][8-bit gene][3-bit datacenter][8-bit sequence]说明:机器位与数据中心位、序列位是从标准雪花结构压缩后得到,吞吐量相较标准模式更低(同毫秒最多 256)。
方法概览
生成方法
字段
类型
解析方法
字段
类型
基因与校验方法
字段
类型
使用示例
import com.xlf.utility.utility.GeneSnowflakeUtil;
long userId = GeneSnowflakeUtil.generateId("user");
long orderId = GeneSnowflakeUtil.generateId("order");
int userGene = GeneSnowflakeUtil.parseGene(userId);
boolean ok = GeneSnowflakeUtil.verifyGene(orderId, "order");注意事项
- CRC8 基因位存在碰撞概率,不能替代严格业务字段。
- 适合做“快速路由/粗粒度分类”,不适合做强一致主业务键判定。
- 基因模式吞吐上限低于标准雪花(序列号仅 8 位)。