雪花算法配置
41
可用时间:69年
5
支持数据中心:32个
5
支持机器数:32台
12
每毫秒序列:4096个
对应时间: 2021-01-01 00:00:00
生成的雪花ID
已生成 0 个ID,当前ID长度:18位
雪花算法结构说明:
  • 1位符号位(0) + 时间戳位 + 数据中心位 + 机器位 + 序列位 = 64位
  • Java后端配置:1位符号位(0) + 41位时间戳 + 5位数据中心 + 5位机器 + 12位序列
  • 时间戳左移22位(12+5+5),数据中心左移17位(12+5),机器左移12位
  • 生成的ID为64位长整型,与Java后端完全兼容
雪花算法ID生成器说明
核心知识
雪花算法(Snowflake)是Twitter开源的分布式ID生成算法。
它能在分布式系统中生成全局唯一且趋势递增的64位ID,非常适合作为数据库主键。
本工具提供在线的雪花ID生成和解析功能,支持自定义配置。
算法结构
1、符号位(1位):始终为0,保证ID为正数。
2、时间戳位(41位):毫秒级时间戳,从自定义纪元开始计算。
3、数据中心位(5位):支持最多32个数据中心。
4、机器位(5位):每个数据中心支持最多32台机器。
5、序列位(12位):每毫秒每台机器最多生成4096个ID。
标准配置总共64位,可存储为Long类型。
重要特性
1、全局唯一:通过时间戳+数据中心+机器+序列号保证全局唯一。
2、趋势递增:基于时间戳生成,ID随时间递增,利于数据库索引。
3、高性能:本地生成,无需网络调用,每秒可生成数百万ID。
4、可配置:支持自定义各部分位数,适应不同场景需求。
5、可解析:ID可反向解析出生成时间、数据中心、机器等信息。
配置建议
1、标准配置(41+5+5+12):可用69年,适合大多数应用。
2、长期应用:可增加时间戳位数,减少数据中心和机器位数。
3、大规模集群:可减少时间戳位数,增加数据中心和机器位数。
4、高并发场景:可增加序列号位数,提高单毫秒生成能力。
5、纪元时间:建议设置为项目开始时间,延长可用时间。
典型应用场景
1、数据库主键:作为MySQL、PostgreSQL等数据库的主键。
2、分布式系统:微服务架构中的全局唯一ID。
3、消息队列:消息的唯一标识。
4、订单系统:生成唯一订单号。
5、日志追踪:分布式链路追踪ID。
使用说明
1、配置参数:根据需求调整各部分位数和相关ID。
2、生成ID:点击生成按钮获取雪花ID。
3、批量生成:设置数量和时间间隔进行批量生成。
4、结构分析:查看生成的ID的结构分解和时间信息。
5、格式切换:在十进制、二进制、十六进制之间切换显示。