Golang实现Snowflake算法

SnowFlake算法是Twitter设计的一个可以在分布式系统中生成唯一的ID的算法,它可以满足Twitter每秒上万条消息ID分配的请求,这些消息ID是唯一的且有大致的递增顺序。

SnowFlake的算法是产生一个int64整型的ID,这段ID一共分为4部分,通过标示部分、时间戳、worker的Id、生成ID的序号来组合成为一个自增的ID,并且是全局唯一的。

0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000

Golang代码实现SnowFlake

Snowflake的优缺点

优点

缺点