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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
paopaokaka_luck23 分钟前
小学非遗科普平台(AI 非遗科普问答,ECharts学情数据、非遗资源分类与审核,资源收藏下载与学习记录,学习任务发布和作品评分,活动报名签到与统计)
java·人工智能·spring·信息可视化·数据分析·echarts
传奇开心果编程1 小时前
【Rust入门练中学】 第3课:数据类型
开发语言·学习·rust
Yize.1 小时前
Spring Task定时任务全解析:从入门到实战
java·spring
泡泡鱼(敲代码中)1 小时前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
莫陌尛.2 小时前
etcd与Nacos功能及场景对比文档
java
麻瓜code2 小时前
【JUC】并发容器:从线程不安全到阻塞队列
java
Tairitsu_H2 小时前
[C++] 拷贝构造还是赋值重载?类默认成员函数细节详解
开发语言·c++·类和对象
goodlook01233 小时前
opencode调用本地模型一(1.18.30版本安装)
开发语言
许彰午3 小时前
50-18个表单控件
java·低代码·架构
白宇横流学长3 小时前
基于springboot的个人博客系统的设计与实现【源码+文档】
java·spring boot