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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
Dxy1239310216几秒前
中文乱码恢复方案
开发语言·python
紫陌涵光18 分钟前
112. 路径总和
java·前端·算法
浅念-19 分钟前
C/C++内存管理
c语言·开发语言·c++·经验分享·笔记·学习
workflower22 分钟前
多变量时间序列预测
java·hadoop·nosql·需求分析·big data·结对编程
回敲代码的猴子28 分钟前
2月8日上机
开发语言·c++·算法
rongyili8844 分钟前
Dify 外部知识库集成 Milvus 实战指南
开发语言·python·milvus
IT猿手1 小时前
MOEA/D(基于分解的多目标进化算法)求解46个多目标函数及一个工程应用,包含四种评价指标,MATLAB代码
开发语言·算法·matlab·多目标算法
学到头秃的suhian1 小时前
Redis消息队列
数据库·redis·缓存
Volunteer Technology1 小时前
DynamicTP动态线程池(四)
java·spring boot·后端·spring
野犬寒鸦1 小时前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
java·开发语言·jvm·数据库·后端·学习