go语言实现雪花算法
雪花算法(Snowflake)是一种生成唯一ID的算法,由Twitter开发。它生成的ID是64位的整数,通常用于分布式系统中。雪花算法的ID结构如下:
1位符号位(始终为0)
41位时间戳(毫秒级,支持69年)
10位机器ID(支持1024个节点)
12位序列号(每毫秒生成4096个ID)
下面是用Go语言实现雪花算法的完整源码:
package main
import (
"fmt"
"sync"
"time"
)
const (
// 机器ID的位数
workerBits = 10