分布式id生成算法:snowflake

 

主键的生成的方法主要有:

  1. 数据库内置机制:自增, 但是在分布式环境下会有重复
  2. 字符串。自己订好规则。分段,可以避免重复。
  3. UUID。 重复的可能性小。但是不易读
  4. Snowflake.

              由64bit构成,就是数据库中的long类型。

              从左向右,第一位预留位,不使用,前41位是毫秒,接下来的10位工作机器id,剩余的12位是递增的序列号。

              Snowflake的特点:

               a.  生成的id趋势递增,但不是单调递增

                b. 可能存在重复。比如机器时间往回调。

posted @ 2019-08-20 22:04  0xMe  阅读(214)  评论(0编辑  收藏  举报