分布式ID

分布式ID

  • 背景
  • Snowflake(雪花算法)
  • uid-generator(雪花算法)

背景

分布式系统,用什么做为主键呢?

  • uuid
    太长(MySQL官方有明确的建议主键要尽量越短越好[4],36个字符长度的UUID不符合要求。)、
    无规律(在InnoDB引擎下,UUID的无序性可能会引起数据位置频繁变动,严重影响性能。)
  • Snowflake
  • Leaf
    https://tech.meituan.com/2017/04/21/mt-leaf.html
  • UidGenerator
    https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md

Snowflake(雪花算法)

  • 简介
    分布式ID_第1张图片

第一位 占用1bit,其值始终是0,没有实际作用。
2.时间戳 占用41bit,精确到毫秒,总共可以容纳约69年的时间。
3.工作机器id 占用10bit,

你可能感兴趣的:(微服务解决方案,分布式,java)