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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
金銀銅鐵2 分钟前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端
小短腿的代码世界10 分钟前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt
Ting-yu15 分钟前
Spring AI Alibaba零基础速成(6) ---- 向量化
数据库·人工智能
江上清风山间明月16 分钟前
如何将python开发的window应用打包成exe
开发语言·python·exe·打包
凌冰_20 分钟前
IDEA 集成Claude Code
java·ide
SXJR22 分钟前
Java中的Cross-Encoder模型解决方案
java·开发语言
彦为君31 分钟前
JavaSE-11-BIO/NIO/AIO(多人聊天室)
java·开发语言·python·ai·nio
dishugj31 分钟前
HANA性能分析视图
数据库
为何创造硅基生物33 分钟前
C 语言 typedef 结构体私有化
c语言·开发语言·算法
计算机安禾38 分钟前
【c++面向对象编程】第43篇:可变参数模板(C++11):优雅处理不定长参数
java·开发语言·c++