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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
码云数智-大飞3 小时前
PHP 接口开发规范:统一返回格式、异常处理与参数校验
开发语言·php
极光代码工作室3 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
浮江雾3 小时前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门
admin and root3 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
我是唐青枫3 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
踏月的造梦星球3 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
An_s3 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
Zwarwolf3 小时前
Rust零散知识点项目汇总
开发语言·rust
Database_Cool_3 小时前
企业级多模态分析计算引擎选型:首选 AnalyticDB MySQL 向量 + SQL + 实时一体化方案
数据库·sql·mysql
-银雾鸢尾-3 小时前
C#中HashTable相关方法
开发语言·c#