雪花算法的实现原理

雪花算法的实现原理

​ 许阿花算法是来实现全剧唯一id的业务主键,解决分库分表之后主键id的唯一性的问题。虽然说解决id唯一性可以使用UUID或者Redis原子性递增和数据库的表自增id,但是实际开发中我们id除了满足唯一性还要去满意有序递增、高可用、高性能、带时间戳等特征,而雪花算法就满足这些。

​ 它是通过一个64个bit位组成long类型的数字,

第一部分用一个bit位表示,通常是0

第二部分用41个bit位来表示一个时间戳 这个时间戳是系统时间的毫秒数

第三部分用10个bit位来记录工作机器的id,这样就可以保证在多服务器生成id的唯一性

第四位用12个bit位来实现递增数列,用来实现通毫秒内产生不同id的一个能力

你可能感兴趣的:(数据库)