目录

  • 一、前言
  • 二、技术方案实现
    • 2.1、技术方案实现1
    • 2.2、技术方案实现2
  • 三、存在的问题
    • 3.1、kygoException异常问题
    • 3.2、redis随机命令被禁止问题
  • 四、完整的“分布式雪花算法”代码

一、前言

前段时间线上系统出现一个严重的bug:一个表中插入两条一样的id记录信息(该字段未设置唯一主键)。查看了代码,第一印象是绝对不可能出现该Bug,不科学,怎么会出现两个相同的id记录呢?
带着疑惑又仔细查看了代码,id的生成是SnowFlake雪花算法。大脑灵光一闪,这不就是分布式高并发下,SnowFlake雪花算法会出现重复id的问题。问题发现了,接下来就是“分布式高并发下,如何生成唯一id”的问题。带着这个问题,网上查询到,生成唯一uuid方法有:
UUID