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

相关推荐
Jay Kay1 小时前
从零开始设计一个分布式KV存储:基于Raft的协程化实现
分布式·raft
bing_1581 小时前
kafka 是一个怎样的系统?是消息队列(MQ)还是一个分布式流处理平台?
分布式·kafka
Adorable老犀牛2 小时前
一键安装RabbitMQ脚本
分布式·rabbitmq
黄雪超2 小时前
Kafka——常见工具脚本大汇总
大数据·分布式·kafka
abigalexy2 小时前
深入Redis集群模式-分布式缓存架构
redis·分布式
the beard3 小时前
RabbitMQ:从入门简介、安装步骤到控制台操作指南(一)
分布式·rabbitmq
勇哥的编程江湖3 小时前
spark入门-helloword
大数据·分布式·spark
你我约定有三18 小时前
分布式微服务--Nacos作为配置中心(二)
java·分布式·spring cloud·微服务·架构·wpf·负载均衡
黄雪超19 小时前
Kafka——关于Kafka动态配置
大数据·分布式·kafka
bing_15819 小时前
如何利用 Redis 的原子操作(INCR, DECR)实现分布式计数器?
数据库·redis·分布式