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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
java1234_小锋3 小时前
Java高频面试题:Redis的Key和Value的设计原则有哪些?
java·redis·面试
parafeeee3 小时前
程序人生-Hello’s P2P
数据库·后端·asp.net
欲买桂花同载酒5823 小时前
程序人生-Hello’s P2P
运维·服务器·数据库
iPadiPhone3 小时前
流量洪峰下的数据守护者:InnoDB MVCC 全实现深度解析
java·数据库·mysql·面试
Nuopiane3 小时前
关于C#/Unity中单例的探讨
java·jvm·c#
win x3 小时前
JVM类加载及双亲委派模型
java·jvm
NineData3 小时前
AI时代的数据对比:DBA还需要盯着屏幕看差异吗?
运维·数据库
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 滑雪场租赁管理系统的设计与实现为例,包含答辩的问题和答案
java
MediaTea3 小时前
Python:collections.Counter 常用函数及应用
开发语言·python
Javatutouhouduan3 小时前
SpringBoot整合reids:JSON序列化文件夹操作实录
java·数据库·redis·html·springboot·java编程·java程序员