解决集群下mp的雪花id重复问题

雪花算法的核心能影响到id生成的几个因素:

  1. 服务器时间
  2. workId(机器 ID 部分)
  3. 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)}

posted @   佳沃  阅读(313)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示