跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 分布式系统生成全局唯一 ID 的方式方案

分布式系统生成全局唯一 ID 的方式方案

已定时 已固定 已锁定 已移动 技术专区
3 帖子 2 发布者 646 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 我是小马甲~M 离线
    我是小马甲~M 离线
    我是小马甲~
    🤫
    写于 最后由 编辑
    #1

    在分布式系统中,生成全局唯一标识符(ID)是一个常见的问题。以下是一些常用的方案:

    UUID(Universally Unique Identifier): 这种方式的主要优点是它不依赖于中心节点生成全局唯一ID。因此,不会有单点故障问题。然而,UUID通常比较长,并且无法进行排序。

    Snowflake ID: Twitter的Snowflake项目用于生成64位的全局唯一ID。这个ID由时间戳、工作机器ID和序列号三部分组成,因此具有全局唯一性和可排序性。

    数据库自增ID: 如果系统中只有一个数据库,你可以使用数据库的自增ID功能生成全局唯一ID。但在分布式系统中,由于存在多个数据库节点,如果每个数据库节点都从1开始自增,那么将会生成重复的ID。解决这个问题的一种方式是每个数据库节点生成ID时,起始点和步长都不同。例如,节点1从1开始,每次增加2;节点2从2开始,每次增加2。这样可以保证每个节点生成的ID都是全局唯一的。

    Zookeeper生成ID: Zookeeper可以用于生成全局唯一ID。Zookeeper有一个特性叫做顺序性,如果在一个Znode(Zookeeper中的数据节点)下创建子节点,Zookeeper会给每个子节点赋予一个唯一且递增的编号。因此,可以利用这个特性生成全局唯一ID。

    使用Redis的INCR和INCRBY命令: Redis的INCR和INCRBY命令可以用于原子性地增加键的值。因此,可以将键的初始值设置为某个大的数字,然后每次生成ID时,都使用INCR命令将键的值增加1,生成的键的值就是全局唯一ID。

    分布式唯一ID生成器服务: 你可以实现一个中心化的服务,负责生成全局唯一ID。例如,Flickr就有一个叫做Ticket Servers的服务,用于生成全局唯一ID。这种方式的主要问题是,如果这个服务出现故障,那么整个系统就无法生成全局唯一ID。

    以上就是生成全局唯一ID的一些常见方案,每种方案都有其优点和缺点,需要根据系统的实际需求进行选择。

    唐宋元明清,连排小工兵!

    1 条回复 最后回复
    0
    • R 离线
      R 离线
      Rabbit
      🍌
      写于 最后由 编辑
      #2

      大佬是不是也看了V2的帖子有感而发!

      我是小马甲~M 1 条回复 最后回复
      0
      • R Rabbit

        大佬是不是也看了V2的帖子有感而发!

        我是小马甲~M 离线
        我是小马甲~M 离线
        我是小马甲~
        🤫
        写于 最后由 编辑
        #3

        Rabbit 说:

        大佬是不是也看了V2的帖子有感而发!

        试一试 SEO 哈哈

        唐宋元明清,连排小工兵!

        1 条回复 最后回复
        0
        回复
        • 在新帖中回复
        登录后回复
        • 从旧到新
        • 从新到旧
        • 最多赞同


        Popular Topics - 热门主题
        • 蜜雪冰城 0撸券 速度支付宝
          N
          nop
          4
          3
          923

        • 小米云服务618活动,黄金会员39,铂金会员138
          我是小马甲~M
          我是小马甲~
          0
          5
          127

        • 互联网大厂技术博客收集
          我是小马甲~M
          我是小马甲~
          0
          5
          245

        • 免费科技订阅30T流量
          L
          lin
          0
          4
          159

        • 美团18-18券!速度撸起来 !
          youhunY
          youhun
          0
          3
          358

        • 在海南的童鞋可申请无墙网络
          我是小马甲~M
          我是小马甲~
          0
          3
          1.7k

        • 登录

        • 没有帐号? 注册

        • 登录或注册以进行搜索。
        百度网盘
        1,258 个主题
        连续剧
        724 个主题
        国产剧
        579 个主题
        美剧
        349 个主题
        中国移动
        307 个主题
        动画片
        235 个主题
        中国电信
        222 个主题
        动作片
        209 个主题

        119

        在线

        40.2k

        用户

        40.0k

        主题

        110.3k

        帖子
        • 第一个帖子
          最后一个帖子