码迷,mamicode.com
首页 > 编程语言 > 详细

雪花算法基本结构

时间:2020-02-21 16:32:10      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:概念   表示   机房   机器   log   head   部分   分析   换算   

雪花算法

自己看到的较好的博客,记录一下

基本概念

无意义 时间戳 机房ID 机器ID 序号
0 0001100 10111110 10001001 01000111 10100010 00 10001 1 1001 0000 00000000
1bit 41bit 5bit 5bit 12bit
  • 第一个部分,是 1 个 bit:0,这个是无意义的。

    因为二进制里第一个 bit 为如果是 1,那么都是负数,但是我们生成的 id 都是正数,所以第一个 bit 统一都是 0。

  • 第二个部分是 41 个 bit:表示的是时间戳。

    41 bit 可以表示的数字多达 2^41 - 1,也就是可以标识 2 ^ 41 - 1 个毫秒值,换算成年就是表示 69 年的时间。

  • 第三个部分是 5 个 bit:表示的是机房 id,10001。

    5 个 bit 代表机房,id意思就是最多代表 2 ^ 5 个机房(32 个机房)。

  • 第四个部分是 5 个 bit:表示的是机器 id,1 1001。

    5 个 bit 代表机器 id,每个机房里可以代表 2 ^ 5 个机器(32 台机器)。

  • 第五个部分是 12 个 bit:表示的序号,就是某个机房某台机器上这一毫秒内同时生成的 id 的序号,0000 00000000。

    12 bit 可以代表的最大正整数是 2 ^ 12 - 1 = 4096,也就是说可以用这个 12 bit 代表的数字来区分同一个毫秒内的 4096 个不同的 id。

参考博客 https://blog.csdn.net/lq18050010830/article/details/89845790

算法具体介绍

下面的博客对雪花算法的分析很好,可以从第一篇到第七篇开始看

博客园:https://www.cnblogs.com/guos/p/11357422.html (1-7)

雪花算法基本结构

标签:概念   表示   机房   机器   log   head   部分   分析   换算   

原文地址:https://www.cnblogs.com/codeclock/p/12341666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!