snowflake多台机器的话怎么保证能递增,所有生成的 id 按时间趋势递增,在单机上是递增的,但是在分布式环…

snowflake多台机器的话怎么保证能递增,所有生成的 id 按时间趋势递增,在单机上是递增的,但是在分布式环境下,多台机器的时钟不一定完全同步,所以不能满足严格递增,只能满足趋势递增。如果当前时间比上一个时间戳大,此时的逻辑最简单了。很容易得到一个唯一的主键,时间空间上唯一。那么,经过雪花算法后将会得到一个固定长度的唯一主键,然后将计数器置零,把当前时间戳保存为上一时间戳以待下次使用。 如果当前时间与上一个时间是相等的,那么就需要在毫秒级别内做序列号,启动12位序列号,计数。再经过雪花算法后得到一个固定长度的唯一主键。

圈主 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索