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

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

复制代码
mybatis-plus模块

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

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

查看跟踪核心代码

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

查看

复制代码
WorkerNodeEntity 类

给id加上 自增注解

查看

复制代码
WorkerNodeDAO 类

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

如图

最后给获取方法 加上锁

由此解决问题。

相关推荐
24K纯学渣8 分钟前
Python编码格式化之PEP8编码规范
开发语言·ide·python·pycharm
怒视天下9 分钟前
零基础玩转Python生物信息学:数据分析与算法实现
开发语言·python
编程乐学(Arfan开发工程师)12 分钟前
42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
java·spring boot·后端·测试工具·lua·postman
珹洺17 分钟前
数据库系统概论(十七)超详细讲解数据库规范化与五大范式(从函数依赖到多值依赖,再到五大范式,附带例题,表格,知识图谱对比带你一步步掌握)
java·数据库·sql·安全·oracle
用户791177242358319 分钟前
黑马点评【基于redis实现共享session登录】
java·redis
网安INF22 分钟前
CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)
java·web安全·网络安全·kafka·漏洞·jndi注入
TDengine (老段)26 分钟前
TDengine 开发指南——无模式写入
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
程序员岳焱28 分钟前
Java 集合高级操作:反射实现多属性去重与分组
java·后端·编程语言
Dcs32 分钟前
CMS、G1、ZGC、Shenandoah 的全面对比
java
TDengine (老段)34 分钟前
TDengine 在电力行业如何使用 AI ?
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据