liuxuhelloworld's notebook

为什么需要发号器?

因为数据库分库分表后,简单的使用自增id不能满足全局唯一性。

为什么不使用UUID?

Snowflake算法

Snowflake算法的核心思想是将64bit的二进制数字分成若干部分,每一部分存储有特定含义的数据,由此生成全局唯一的有序id:

Snowflake算法示意图

一般的,你可以根据需要调整Snowflake算法,定制自己的发号器实现。