分布式解决方案---分布式ID

目录

是什么

特点

全局唯一

高并发

高可用

怎么做

实现方案


是什么

分布式ID是指在分布式系统中生成的唯一标识符。由于分布式系统的特点,多个节点可能会同时生成ID,因此需要确保每个ID在整个系统中是唯一的。

重点就是唯一性!!!!

特点

全局唯一

高并发

高可用

怎么做

  1. UUID

    1. 缺点:长 占用空间大 无序的放到数据库做id索引性能下降

    2. java实现

      复制代码
          public static void main(String[] args) {
              // 生成随机UUID
              UUID uuid = UUID.randomUUID();
      
              // 将UUID转换为字符串
              String uuidString = uuid.toString();
      
              // 输出UUID
              System.out.println("生成的UUID: " + uuidString);
          }
  2. 数据库主键自增

    1. 缺点:并发性能不高,分库分表比较麻烦,自增泄露数据库数据量
  3. Redis自增

    1. 缺点:自增泄露数据量, 不够稳定,会造成数据丢失,redis负载过高的情况下造成ID生成速度慢
  4. 雪花算法

    1. 缺点:时钟回拨(可以解决,选用)

实现方案

推荐 美团Leaf

相关推荐
低头不见7 小时前
一个服务器算分布式吗,分布式需要几个服务器
运维·服务器·分布式
靠近彗星8 小时前
如何检查 HBase Master 是否已完成初始化?| 详细排查指南
大数据·数据库·分布式·hbase
小马爱打代码11 小时前
Kafka - 消息零丢失实战
分布式·kafka
长河11 小时前
Kafka系列教程 - Kafka 运维 -8
运维·分布式·kafka
浩浩kids13 小时前
Hadoop•踩过的SHIT
大数据·hadoop·分布式
松韬14 小时前
Spring + Redisson:从 0 到 1 搭建高可用分布式缓存系统
java·redis·分布式·spring·缓存
雨会停rain14 小时前
如何提高rabbitmq消费效率
分布式·rabbitmq
java技术小馆16 小时前
Zookeeper中的Zxid是如何设计的
java·分布式·zookeeper·云原生
DemonAvenger16 小时前
深入剖析 sync.Once:实现原理、应用场景与实战经验
分布式·架构·go
Vic233417 小时前
Kafka简要介绍与快速入门示例
分布式·kafka