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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
IceBing3 分钟前
还在一个个连接 Arthas?这个开源平台支持批量诊断 JVM
java
chushiyunen8 分钟前
高斯数据库笔记、gaussDb
数据库·笔记
SL_staff9 分钟前
《如何用规则引擎替代if-else?JVS-Rules可视化编排比硬编码强在哪里?》
java·低代码·架构
绵绵细雨中的乡音11 分钟前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php
c++之路11 分钟前
CMake 系列教程(五):进阶技巧
c语言·开发语言·c++
ZengLiangYi11 分钟前
本地向量数据库选型:vectra vs chroma vs hnswlib
javascript·数据库·后端
踏着七彩祥云的小丑12 分钟前
Go学习第5天:变量作用域 + 数组 + 指针
开发语言·学习·golang·go
Sam_Deep_Thinking18 分钟前
java中的class到底是个什么东西?
java·开发语言·面试
swordbob21 分钟前
Spring 3 级缓存解决循环依赖
java·spring
摇滚侠22 分钟前
SpringMVC 入门到实战 获取请求参数 25-32
java·spring·intellij-idea