平乐县 绥中县 襄汾县 大同市 关岭 海城市 会理县 武义县 弋阳县 云安县 潼南县 隆回县 鱼台县 宁陵县 宜阳县 壶关县
作者:百年不渡  分类:未来幻想  点击:17765229次  下载:9342486次  大小:70M  日期:2019-08-18

你懂的_Twitter分布式自增ID算法snowflake原理解析

标签:放在第一 能赢钱的途游斗地主

以JAVA为例

  Twitter分布式自增ID算法snowflake,生成的是Long类型的id,一个Long类型占8个字节,每个字节占8比特,也就是说我的团长我的团_2018年最新新闻网一个Long类型占64个比特(0和1)。

那么一个Long类型的64个比特,

twitter是这样分配的:正数位(占1比特)+时间戳(占41比特)+机械id(占5比特)+数据中心(占5比特)+自增值(占12比特),总共64比特组成的一个Long类型。

时间戳(占41个比特):毫秒数,大约可以使使用69年

机械id(占5个比特):即2的5次方等于32个机器

数据中心id(占5个比特):即2的5次方等于田径女神走红_2018年最新新闻网32个数据中心

自增值(占12比特):2的12次方等于4096。也就是说每毫秒最多可以生成4096个id,如果cpu生产id的速度大于每毫秒4096个,那么需要使线程进行等待到下一毫秒,重新计数获取自增值。

snowflake算法的好处:

    # 生成的id是一个数字的Long类型

    # 无需链接数据库或者redis,超高性能。

snowflake算法的弊端:

    # 每毫秒只能生成4096个id。随着cpu不断的进步,每毫秒4096个id将不能满足。可以不用担心,即便cpu性能超过了这个值,那么只需等待到下一个毫秒

    # 只能使用69年

    #每毫秒重新计数,空闲时间会浪费很多id空间。

    #系统时间不可回退,回退将会导致id重复。另:系统时间可以前进,不受影响。

    

以上就是对snowflake的一些总结。

snowflake算法改进1:

    针对空闲时间会浪费很多id空间,改进:咱们可以把时间戳的单位改为秒。使用31个比特的时间戳(秒),节约了10个比特,2的31次方等于2,147,483,648秒,约为69年。然后我们把节约出来的10个字节交给自增值,此时自增值(12+10=22比特),即2的22次方等于4,194,304。     

  改进前的snowflake算法结构为:正数位(占1比特)+时间戳(占41比特)+机械id假如生活欺骗了你_2018年最新新闻网(占5比特)+数据中心(占5比特)+自增值(占12比特)

  改进后的snowflake算法结构为:正数位(占1比特)+时间戳(占31比特)+机械id(占5比特)+数据中心(占5比特)+自增值(占22比特)

 改进后的优点:

        # 避免空闲时间会浪费很多id空间,支持每秒生成419万个id。

    改进后的snowflake算法同样是使用69年,时间深度国际_2018年最新新闻网戳以秒为单位,每秒支持约419万个id生成。此时避免使用毫秒时间戳的浪费id空间的弊端。当然还可以继续改进,比如:使用分钟为单位的时间戳(要注意的是:使用分钟为单位的时间戳,如果服务器宕机,那么你需秒速5厘米_2018年最新新闻网要等待1分钟后才能启动服务器,否则将会导致自增值归零重新计数,当前分钟内生成的id和宕机时生成的id会重复)交响情人梦_2018年最新新闻网

    

当前文章:http://kho-quanjiance-com.pousingapore.cn/lbof5x7w/56a22_153156.html

发布时间:2019-08-18 03:14:06

澳门银河娱乐送彩金网站雷军香港见李嘉诚 长和与小米达成合作  澳门银河官网yh163am.com  澳门银河yh7788.bet  2949.com澳门银河娱乐  澳门银河官网真人娱乐赵又廷蜡像入驻上海杜莎夫人蜡像馆  银河国际手机网址2949  www.7163.com澳门银河  银河娱乐平台yh163am.com  澳门银河娱乐yh163am.com  银河娱乐平台yh163am.com男子飞机上吃出铁环硌坏牙齿 海航:赔200元飞机模型  

您可能还对以下电子书感兴趣

你懂的TXT下载声明:

1 2018年最新新闻网免费提供的你懂的,均由网友上传,供下载测试之用,不作商业用途,下载后请二十四小时后删除!

2 我们根据txt小说全文所整理出你懂的txt电子书全集免费下载,由程序自动生成你懂的txt下载文件。

3 书友所发表的txt小说你懂的的相关评论,并不代表本站赞同你懂的txt下载或者支持你懂的的读者观点。

4 如果发现小说《你懂的txt全集》无法下载未及时更新请联系我们。如果您喜欢你懂的txt电子书,请支持作者到书店购买正版图书。感谢您的合作与支持。

5 好看的小说