1
  1. mysql自增

    优点:简单

    缺点:扩容复杂,业务增大时数据迁移困难

  2. 基于时间戳和随机字符串

    优点:对人比较友好

    缺点:随机数生成不易控制

  3. UUID

    优点:简单粗暴,性能好,全球唯一,基本不会有性能问题

    缺点:占用空间大,无序,查询效率低

    变种:COMB算法

  4. redis自增

    优点:简单,易实现,数字ID天然有序

    缺点:依赖redis,考验redis性能

  5. Twitter-Snowflake算法

    优点:

    • 不依赖数据库,性能高,单机有序
    • 灵活,支持多节点部署

缺点:

    • 无法做到全局递增
    1. 微信id生成算法

      万亿级调用下的优雅:微信序列号生成器架构设计及演变

      • 类似于批量生成多个id,性能好,避免每次访问库的压力
      • 可能会有单点故障,服务重启ID不连续
    2. 百度 - UidGenerator

      • 雪花算法变种
    3. Leaf——美团点评分布式ID生成系统- 美团技术团队
    4. wuid一个比 UUID 快百倍的唯一 ID 生成器
    5. vesta
    6. MongoDB — ObjectId
    本文由博客一文多发平台 OpenWrite 发布!

    Harvey
    7 声望0 粉丝