SN生成器架构图(snowflake)
2017-04-03 16:37:24 0 举报
订单号生成规则
作者其他创作
大纲/内容
定时任务:每天早上4点生成序号5万条
1位序号(自增序号,1ms最多两个连续的序号)
SN生成器
是否llen小小于1万条阈值
定时任务:每10分钟调用一次:监听list:llen的值
调用
S2F:SN:ORDER_WORKER_ID增加1,且不能大于15
generateSn()
41位时间截(毫秒级)存储时间截的差值(当前时间截 - 开始时间截):随机间隔6ms
SN:生成器64位long值例如:000000000000001011101001110010100011111101001000000001long值位:800785945088
64位:0 -(不足补0) 0000000000 0000000000 0000000000 0000000000 0 - 0000 - 0
Rediskey:list例如:S2F:SN:ORDER_KEY:800785944992 S2F:SN:FARM_KEY:800785945088
4位workerId(0~15):标识批次(当key池中sn的数量小于阈值时,批次增加1)防止碰撞
收藏
收藏
0 条评论
下一页