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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
乐悠小码9 分钟前
Java设计模式精讲---02抽象工厂模式
java·设计模式·抽象工厂模式
数据的世界0112 分钟前
技术变革:为何C#与.NET是未来的开发方向
java·c#·.net
想搞艺术的程序员18 分钟前
Go Error 全方位解析:原理、实践、扩展与封装
开发语言·后端·golang
向上的车轮18 分钟前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
脸大是真的好~27 分钟前
黑马JAVAWeb-03 SpringBootWeb-分层解耦-三层架构-@SpringBootApplication注解-IOC控制反转-DI依赖注入
java
倔强的石头10637 分钟前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库·mysql·安全·金仓数据库
微露清风40 分钟前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
闲人编程42 分钟前
Python游戏开发入门:Pygame实战
开发语言·python·游戏·pygame·毕设·codecapsule
一蓑烟雨任平生√44 分钟前
两种上传图片的方式——91张先生
java·ossinsight
小鸡毛程序员1 小时前
我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
数据库·mysql