雪花算法 集群uid重复问题 uid-generator-spring-boot-starter

1、在生成环境 在某个业务使用该插件生成uid,由于业务整合了

复制代码
mybatis-plus模块

2、该业务是分部署集群部署以及使用的多线程获取uid,使用中发现唯一建冲突,生成的uid有重复。

然后查看日志发现 workerId 始终为0 怀疑是生成workerId出了问题。

查看跟踪核心代码

发现 是保存响应的代码有问题,没有响应id

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

复制代码
addWorkerNode方法 
复制代码
@Options注解加上
复制代码
keyProperty参数

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
xiaoshuaishuai86 分钟前
C# 委托与事件
开发语言·c#
摇滚侠7 分钟前
Mybatis 入门到项目实战 搭建 MyBatis 框架 01-14
java·tomcat·mybatis
kmblack17 分钟前
javascript计算年龄
开发语言·javascript·ecmascript
肖爱Kun38 分钟前
STL标准模块库操作
开发语言·音视频
码不停蹄的玄黓40 分钟前
SpringBoot 全局异常处理器实现
java·spring boot·后端
Song_da_da_41 分钟前
C# 接口(Interface)深度解析:规范、解耦与灵活扩展
开发语言·c#
老纪1 小时前
Redis分布式锁进第九零篇
数据库·redis·分布式
haven-8521 小时前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
政沅同学1 小时前
基于 C# WPF + HALCON 的工业视觉算法工具框架(开源)
开发语言·c#·wpf
影寂ldy1 小时前
C#WinForm 窗体基础(入口、部分类、属性、生命周期事件)
开发语言·c#