# 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**: 适合分布式系统,特别是需要严格时序和高性能的场景,如大规模分布式应用。