您的位置:首页 > 其它

snowflake 64位id 自增算法

2016-06-14 09:34 288 查看
在分布式系统中生成一个64位id,并保持id 大致顺序,需求为每秒生成100万的id。

为了满足 分布式系统、顺序、每秒生成100万。算法把 64位id 分为 0位保留,1--12位 为序列号,13--23位为机器id,24--63位为毫秒级时间,64位保留。

分布式用13-23位的机器id 保证,顺序用24--63位的时间保证,序列号1--12位 保证没毫秒内可以并发生成12位的序列号,这样就能保证单台机器每秒可以生成1000x2^12个序列号。这样就能保证在分布式系统中高并发的生成id。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息