2

谁能解释它是 twitter 雪花的核心的代码。

long nextId = ((timestamp - twepoch) << this.timestampLeftShift)
            | (this.workerId << this.workerIdShift) | (this.sequence);

我想知道算法的思想,为什么要实现?

4

1 回答 1

3

Twitter 的雪花服务在分布式环境中创建唯一的 ID。许多工作进程可以各自分配唯一的 id。id 由三个部分组成:时间、worker id 和序列号。您显示的代码行简单地移动了这三个组件,以便它们不会在 64 位结果中重叠,或者将它们组合在一起以创建单个 64 位结果。

于 2012-07-02T02:02:42.913 回答