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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
摇滚侠2 分钟前
Maven 入门+高深 SSM 案例 111-112
java·数据库·maven
Chase_______6 分钟前
【Java基础 | 16】集合框架(下):Map、HashMap 与 TreeMap
java·windows
吴阿福|一人公司12 分钟前
类变量和实例变量的命名规范有哪些避坑点?
开发语言·python
Aaswk13 分钟前
Java项目:文件批量处理工具
java·开发语言·vscode·idea
ZengLiangYi15 分钟前
从 RAG 到知识图谱:个人知识管理的演进
数据库·后端·程序员
小江的记录本17 分钟前
【Spring全家桶】Spring AI核心原理、大模型集成、Prompt工程、RAG实现、AI Agent开发(附《思维导图》+《面试高频考点清单》)
java·人工智能·spring boot·后端·spring·面试·prompt
plainGeekDev21 分钟前
线程安全集合 → 协程安全替代
android·java·kotlin
zuYM4g7Dp21 分钟前
文顶顶iOS开发数据库篇—SQL
数据库·sql·ios
WyCAGy8ij21 分钟前
Redis 分布式锁进阶第四篇讲解
数据库·redis·分布式
晚风吹红霞26 分钟前
深入浅出 STL 之 map 与 set:从入门到实战
开发语言·c++