其他分享
首页 > 其他分享> > 分布式唯一id(uid-generator)

分布式唯一id(uid-generator)

作者:互联网

应用场景

在单体项目中,使用 jdk自带的uuid就能生成唯一id。
在分布式项目中,由于机器节点会有多个,需要使用分布式唯一id。

uid-generator

UidGenerator是百度开源,用Java实现的, 基于Snowflake算法的唯一ID生成器。
Snowflake算法描述:指定机器 & 同一时刻 & 某一并发序列,是唯一的。

jdk版本

要求java8及以上版本

官方文档

https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md

maven依赖

<dependency>
    <groupId>com.baidu.fsg</groupId>
    <artifactId>uid-generator</artifactId>
    <version>1.0.0-RELEASE</version>
</dependency>

分布式唯一id

使用非常简单,只要注入CachedUidGenerator , 然后调用 uidGenerator.getUID()即可。
如下:

@Service
public class MyServiceImpl {

    @Autowired
    private CachedUidGenerator uidGenerator;

    public void getUid(){
        Long uid = uidGenerator.getUID();

    }

}

参考资料:

https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md

标签:baidu,uid,generator,uidGenerator,id,分布式
来源: https://www.cnblogs.com/expiator/p/16538659.html