SpringBoot项目快速优雅集成百度UidGenerator分布式数据库id生成器

简介

百度UidGenerator是一个分布式数据库id生成器,本文在SpringBoot项目快速优雅集成百度UidGenerator,使用的是 uid-generator-spring-boot-starter ,它是基于百度UidGenerator,在此基础上做了部分改进。

  • 改造为spring-boot-starter的形式,不用部署为分布式,直接建表、在项目中引入,即可使用
  • 针对时钟回拨,提供了修正选项(默认启用,可通过配置关闭),小于阈值直接休眠,大于阈值更改机器号
  • 对机器id用尽提供了复用策略:取余
  • 解除id位数限制,由“必须64位”改为“不大于64位”,可根据需要获取更短id

集成步骤

1.在项目使用的数据库里,执行WORKER_NODE表脚本

我这边使用的是MySQL数据库

2.maven的pom文件里引入依赖

其它的springboot默认依赖和mysql依赖我就不贴了

3.配置文件application.properties里引入自定义配置

这些自定义配置不是必须的,大家结合自己实际情况配置即可。

还是老规矩,其它的(例如MySQL)配置项我就不贴出来了。

4.IdGenerator.java工具类

这边我们使用CachedUidGenerator,因为它的性能更好。

5.UidController.java测试类

运行测试

1.启动springboot项目

可以看到worker_node表里已经插入一条记录

2.调用接口 http://localhost:5656/testGet

3.调用接口 http://localhost:5656/testParse/898654797824

898654797824 是刚刚获取到的uid

0

《SpringBoot项目快速优雅集成百度UidGenerator分布式数据库id生成器》有2个想法

发表评论

邮箱地址不会被公开。