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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
百***92027 分钟前
【MySQL】MySQL库的操作
android·数据库·mysql
q***76667 分钟前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_27399324320 分钟前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)29 分钟前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
国服第二切图仔35 分钟前
Rust开发之Trait 定义通用行为——实现形状面积计算系统
开发语言·网络·rust
心灵宝贝36 分钟前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
mjhcsp36 分钟前
C++ 循环结构:控制程序重复执行的核心机制
开发语言·c++·算法
A阳俊yi39 分钟前
Spring Data JPA
java·开发语言
小王不爱笑13242 分钟前
Spring AOP(AOP+JDBC 模板 + 转账案例)
java·后端·spring