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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
小妖6661 分钟前
vscode 怎么运行 c++ 文件
开发语言·c++
weixin_307779132 分钟前
在 Microsoft Azure 上部署 ClickHouse 数据仓库:托管服务与自行部署的全面指南
开发语言·数据库·数据仓库·云计算·azure
鱼鱼说测试5 分钟前
Linux下运行Jmeter
开发语言·python
ShareBeHappy_Qin6 分钟前
Spring 中使用的设计模式
java·spring·设计模式
六元七角八分12 分钟前
pom.xml
xml·数据库
鱼鱼说测试13 分钟前
postman功能接口测试
开发语言·lua
Achou.Wang15 分钟前
源码分析 golang bigcache 高性能无 GC 开销的缓存设计实现
开发语言·缓存·golang
虚行22 分钟前
Mysql 数据同步中间件 对比
数据库·mysql·中间件
奥尔特星云大使23 分钟前
mysql读写分离中间件Atlas安装部署及使用
数据库·mysql·中间件·读写分离·atlas
tuine24 分钟前
SpringBoot使用LocalDate接收参数解析问题
java·spring boot·后端