分布式全局唯一ID生成 和 雪花算法

分布式全局唯一ID业务需求

分布式全局唯一ID生成 和 雪花算法_第1张图片

ID生成规则部分硬性要求

  • 全局唯一
    唯一性
  • 趋势递增
    在这里插入图片描述
  • 单调递增
    在这里插入图片描述
  • 信息安全
  • 在这里插入图片描述
  • 含时间戳
  • 在这里插入图片描述

ID生成系统的可用性

分布式全局唯一ID生成 和 雪花算法_第2张图片

一般ID生成方案

UUID

但是UUID入库性能差
分布式全局唯一ID生成 和 雪花算法_第3张图片

数据库自增主键

单机中:
分布式全局唯一ID生成 和 雪花算法_第4张图片

集群分布式:
分布式全局唯一ID生成 和 雪花算法_第5张图片

基于Redis生成全局ID策略

在这里插入图片描述
分布式全局唯一ID生成 和 雪花算法_第6张图片
不好维护

雪花算法

Twitter 的分布式自增ID算法snowflake

概述

分布式全局唯一ID生成 和 雪花算法_第7张图片

结构

分布式全局唯一ID生成 和 雪花算法_第8张图片
分布式全局唯一ID生成 和 雪花算法_第9张图片
分布式全局唯一ID生成 和 雪花算法_第10张图片

工程落地

糊涂工具包,springboot整合雪花算法

引入pom依赖
分布式全局唯一ID生成 和 雪花算法_第11张图片

分布式全局唯一ID生成 和 雪花算法_第12张图片
分布式全局唯一ID生成 和 雪花算法_第13张图片
分布式全局唯一ID生成 和 雪花算法_第14张图片

优缺点

分布式全局唯一ID生成 和 雪花算法_第15张图片

你可能感兴趣的:(开发日常)