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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
艾莉丝努力练剑1 天前
【QT】环境搭建收尾:认识Qt Creator
运维·开发语言·c++·人工智能·qt·qt creator·qt5
安当加密1 天前
多云部署下数据库加密如何统一管密钥?一个跨阿里云、腾讯云、AWS 的 KMS 实践
数据库·阿里云·腾讯云
芒克芒克1 天前
JVM性能监控
java·jvm
南棱笑笑生1 天前
20260113给飞凌OK3588-C开发板适配Rockchip原厂的Android14系统时适配CAM3接口的OV5645
c语言·开发语言·rockchip
行稳方能走远1 天前
Android java 学习笔记3
android·java
WF_YL1 天前
IntelliJ IDEA 关闭保存时在文件末尾换行 -(取消保存自动末尾换行)
java·ide·intellij-idea
Larry_Yanan1 天前
Qt安卓开发(二)摄像头打开
android·开发语言·数据库·c++·qt·ui
撩得Android一次心动1 天前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(1)
android·java·kotlin·lifecycle
lang201509281 天前
Java高性能缓存库Caffeine全解析
java·缓存·linq