1.码云开源仓库地址:uid-generator-plus
2.介绍:uid-generator-plus是基于百度的uid-generator改造,主要改变为,使用最新版springboot,连接数据库的mybatis改为mybatisPlus
3.使用环境
jdk11(可自行改为1.8)
开发工具启动需安装 lombok插件
4.克隆代码到本地
5.运行sql脚本到自己的数据库
6.配置数据库连接地址
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://配置你自己的数据库?useUnicode=true&useSSL=false&characterEncoding=utf8
username:
password:
#uid:
# enableCache: true
# timeBits: 31
# workerBits: 17
# seqBits: 15
7.配置完成启动即可
8.关于分布式全局唯一id生成微服务的技术选型与建议:
1.一般项目个人推荐使用本文集成的这个百度的方式就能满足大部分应用的要求了,因为uid-generator通过消费未来时间克服了雪花算法的并发限制,并解决了时钟回拨问题,省事儿。
2.在业务的某个项目中有需要大量并发请求获取uid时可单独为某已微服务集成uid生成器,因为我们开发的业务中,需要分布式唯一id大多时集中在某一块业务上,整个服务业务其实用不着一定要id全服务唯一,灵活集成运用就行
3.不用百度的uid也可使用美团的leaf,不过要使用雪花算法需安装维护zookeeper,有需要的可根据官方自己集成使用
最后做下总结:若只想使用雪花算法推荐百度,使用数据库发号算法用滴滴tinyid,两者都想用用美团leaf
百度uid:uid-generator
美团leaf:leaf
弟弟tinyId:tinyId