解决集群下mp的雪花id重复问题
雪花算法的核心能影响到id生成的几个因素:
- 服务器时间
- workId(机器 ID 部分)
- datacenterId(数据标识 ID 部分)
根据源码
public void init(GlobalConfig globalConfig) { // 初始化 Sequence //这里需要同时设置workerId和datacenterId if (null != globalConfig.getWorkerId() && null != globalConfig.getDatacenterId()) { IdWorker.initSequence(globalConfig.getWorkerId(), globalConfig.getDatacenterId()); } // 打印 Banner if (globalConfig.isBanner()) { System.out.println(" _ _ |_ _ _|_. ___ _ | _ "); System.out.println("| | |\\/|_)(_| | |_\\ |_)||_|_\\ "); System.out.println(" / | "); System.out.println(" "+MybatisPlusVersion.getVersion()+" "); } }
发现workerId和datacenterId必须同时设置才会获取我们设置的值。
# 设置随机
mybatis-plus.global-config.worker-id: ${random.int(1,31)}
mybatis-plus.global-config.datacenter-id: ${random.int(1,31)}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?