6种必知的分布式id生成策略

超级欧派课程 2024-03-06 15:05:15

如何确保分布式节点生成的ID唯一,且不会发生冲突?

这里有6种策略:

1. UUID或GUID(128位)

一个UUID由32个十六进制字符组成,每个字符是4位。所以,总共是128位。当你把4个连字符也包括进去后,你会看到总共有36个字符。

NanoID (126位)借鉴UUID的概念

NanoID将其简化为只有21个字符,但这些字符来自包含连字符和下划线的64个字符的字母表。

3. 序列

可能会想到序列或自动增量,因为这是 PostgreSQL 和 MySQL 等数据库常用的方法。

4.对象ID(96位)

ObjectID 是 MongoDB 对唯一文档 ID 的回应,这个 12 字节标识符通常驻留在文档的“_id”字段中,如果您不自己设置它,MongoDB 会介入为您做这件事。

5. Twitter Snowflake(64 位,约 70 年)

该系统通常被称为“雪花 ID”,由 Twitter 开发,旨在为其庞大的用户群高效生成 ID。

Sonyflake(64位,~174年)

受 Snowflake 的启发,Sonyflake 对位的分布进行了一些更改。

0 阅读:0

超级欧派课程

简介:感谢大家的关注