美文网首页
分布式全局唯一ID

分布式全局唯一ID

作者: 新强吖 | 来源:发表于2017-06-28 20:15 被阅读180次

    在很多中小项目中,我们往往直接使用数据库自增特性来生成主键ID,这样确实比较简单。而在分库分表的环境中,数据分布在不同的分片上,不能再借助数据库自增长特性直接生成,否则会造成不同分片上的数据表主键会重复。简单介绍下使用和了解过的几种ID生成算法。
    Twitter的Snowflake(又名“雪花算法”)
    UUID/GUID(一般应用程序和数据库均支持)
    MongoDB ObjectID(类似UUID的方式)
    Ticket Server(数据库生存方式,Flickr采用的就是这种方式)
    其中,Twitter 的Snowflake算法是笔者近几年在分布式系统项目中使用最多的,未发现重复或并发的问题。该算法生成的是64位唯一Id(由41位的timestamp+ 10位自定义的机器码+ 13位累加计数器组成)

    相关文章

      网友评论

          本文标题:分布式全局唯一ID

          本文链接:https://www.haomeiwen.com/subject/dpcpcxtx.html