全局 id生成对比

对比 数据库自增 id、UUID、雪花算法的一些利弊:

特性 递增ID UUID 雪花算法
唯一性 递增,唯一性仅在同一数据库中保证 全局唯一 全局唯一
排序性 递增,可以按时间顺序排序 随机,不具备排序特性 按时间有序
存储空间 较小 较大 较小
可读性 易读 不易读 可读,包含时间信息
生成算法复杂性 简单 相对较简单 相对简单,依赖于时间和节点标识
性能 相对较高
可调整性 有限 有限 可根据需求调整节点位数、序列位数
时间依赖性 受数据库自增机制限制 受系统时间限制
应用场景 数据库主键、顺序存储、分片键 全局唯一标识、分布式系统 分布式系统、分片键

生成规则对比

类型 生成规则
递增ID 通常由数据库自增机制生成,每次递增1。
UUID 由32个十六进制字符组成,分为8-4-4-4-12五个部分。
雪花算法(Snowflake) 64位二进制数,分为1位符号位、41位时间戳、10位节点标识、12位序列号。
相关推荐
teak_on_my_way5 小时前
使用C#写的一个Kafka的使用工具
分布式·kafka
郭涤生13 小时前
Chapter 10: Batch Processing_《Designing Data-Intensive Application》
笔记·分布式
郭涤生15 小时前
微服务系统记录
笔记·分布式·微服务·架构
马达加斯加D15 小时前
MessageQueue --- RabbitMQ可靠传输
分布式·rabbitmq·ruby
西岭千秋雪_17 小时前
Sentinel核心源码分析(上)
spring boot·分布式·后端·spring cloud·微服务·sentinel
dengjiayue20 小时前
消息队列(kafka 与 rocketMQ)
分布式·kafka·rocketmq
东阳马生架构21 小时前
zk基础—4.zk实现分布式功能二
分布式
ChinaRainbowSea1 天前
8. RabbitMQ 消息队列 + 结合配合 Spring Boot 框架实现 “发布确认” 的功能
java·spring boot·分布式·后端·rabbitmq·java-rabbitmq
IT成长日记1 天前
【Kafka基础】Kafka高可用集群:2.8以下版本超详细部署指南,运维必看!
分布式·zookeeper·kafka·集群部署
码界筑梦坊1 天前
基于Spark的酒店数据分析系统
大数据·分布式·python·信息可视化·spark·毕业设计·个性化推荐