分布式解决方案---分布式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

相关推荐
_waylau1 天前
鸿蒙架构师修炼之道-面向对象的分布式架构
分布式·华为·架构·架构师·harmonyos·鸿蒙
Francek Chen1 天前
【大数据存储与管理】NoSQL数据库:03 NoSQL与关系数据库的比较
大数据·数据库·分布式·nosql
FeBaby1 天前
Java 高并发场景下 Redis 分布式锁(UUID+Lua)最佳实践
java·redis·分布式
richard_yuu1 天前
工控场景落地|分布式协调与动态重配置管理,如何实现产线不停机升级?
分布式
MoFe11 天前
【.net core】【RabbitMq】rabbitmq在.net core中的简单使用
分布式·rabbitmq·.netcore
何中应1 天前
在windows本地部署RabbitMQ
分布式·消息队列·rabbitmq
Wild API1 天前
按任务轻重做模型分流的实战思路
分布式·微服务·架构
低客的黑调1 天前
RabbitMQ-从入门到生产落地
分布式·rabbitmq
宸津-代码粉碎机1 天前
Spring Boot 4.0虚拟线程实战续更预告:高阶技巧、监控排查与分布式场景落地指南
java·大数据·spring boot·分布式·后端·python
霖霖总总2 天前
[Redis小技巧32]Redis分布式锁的至暗时刻:从原理演进到时钟跳跃的终极博弈
数据库·redis·分布式