全局ID生成器
为什么要用全局ID生成器
1.当我们使用数据库自增来实现id的生成时,规律过于明显,会给用户暴露很多信息
2.当我们订单量过大时无法用数据库的一张表来存放订单,如果两张表的id都是自增的话,id就会出现重复
什么是全局ID生成器
全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般满足以下条件:
利用Redis来实现全局ID生成器
为了增加ID的安全性,我们不可以直接使用Redis的自增的数值,而是拼接一些别的信息:
ID的组成部分:
符号位:1bit,永远为0
时间戳:31bit,以秒为单位,可以使用69年
序号位:32bit,秒内的计数器,支持每秒产生2^32个不同的ID