雪花算法简介
雪花算法是由Twitter开发的,用于生成64位的唯一ID。这个ID由四部分组成:
- 时间戳:41位,表示自某个特定时间点(通常是1970年1月1日)以来的毫秒数。
- 数据中心ID:5位,用于区分不同的数据中心。
- 工作节点ID:5位,用于区分数据中心内的不同节点。
- 序列号:12位,同一毫秒内的序列号,确保同一毫秒内的ID唯一。
示例代码
go
package main
import (
"fmt"
"sync"
"time"
)
const (
twepoch = 1577836800000
workerIDBits = 5
datacenterIDBits = 5
sequenceBits = 12
maxWorkerID = -1 ^ (-1 << workerIDBits)
maxDatacenterID = -1 ^ (-1 << datacenterIDBits)
maxSequence = -1 ^ (-1 << sequenceBits)
workerIDShift = sequenceBits
datacenterIDShift = sequenceBits + workerIDBits
timestampLeftShift = seque
订阅专栏 解锁全文
,该算法用于生成唯一的64位ID,这些ID在分布式系统中保持唯一性和时间顺序性。&spm=1001.2101.3001.5002&articleId=143870865&d=1&t=3&u=40931b14654046d5870c4577a93d2ddc)

被折叠的 条评论
为什么被折叠?



