Files
2025-06-14 21:44:33 +08:00
..
2025-06-04 15:52:46 +08:00
2025-06-04 15:52:46 +08:00
2025-06-04 15:52:46 +08:00
2025-06-04 15:52:46 +08:00
2025-06-04 15:52:46 +08:00
2025-06-04 22:17:05 +08:00
2025-06-04 22:17:05 +08:00
2025-06-14 21:44:33 +08:00
2025-06-04 15:52:46 +08:00

ID生成器

订单ID

  • 电商平台202506041234567890时间戳 + 随机数19-20 位)。
  • 支付系统PAY20250604123456789业务前缀 + 时间戳 + 序号)。
  • 微信支付1589123456789012345类似 Snowflake 的纯数字 ID
  • 美团订单202506041234567890123时间戳 + 商户 ID + 随机数)。

UUID

特性 GUID/UUID KSUID ShortUUID XID Snowflake
长度 36/32字符不含- 27字符 22字符 20字符 19数字位数
有序性 无序UUIDv4 严格时序 无序 趋势有序 严格时序
时间精度 UUIDv4 毫秒级 秒级 毫秒级
分布式安全 高(随机数) 需配置WorkerID
性能 中等 中等 较低(编码开销) 极高 极高
时钟依赖 有(需处理时钟回拨) 有(但影响较小) 强依赖(需严格同步)
适用场景 跨系统兼容 时序索引 短ID、URL 高并发、短ID 分布式时序ID

选择建议

  • GUID/UUID: 适用于需要跨系统兼容的场景,特别是当不需要有序性时。
  • KSUID: 适合需要严格时序的应用,如事件日志、时间序列数据。
  • ShortUUID: 当需要短ID且不关心有序性时的理想选择适用于URL、短链接等。
  • XID: 高并发场景下的短ID选择适合需要一定有序性的应用。
  • Snowflake: 适合分布式系统,特别是需要严格时序和高性能的场景,如大规模分布式应用。