分布式ID生成策略实施步骤详解?

2026-05-26 02:461阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计380个文字,预计阅读时间需要2分钟。

分布式ID生成策略实施步骤详解?

一. 我们的经验分为+ 标号段(1/3分享)+ 雪花算法(2/3分享)+ 两种类型:

1.对标号段的实践,使用的有基于tinode项目的几个类改造来实现。

2.对雪花算法参考了leaf和“。

一.我们的实践分为 号码段(1/3分享) 和 雪花算法(2/3分享) 两种类型:

1.对于号码段的实践使用的是滴滴tinyid项目基础上做了几个类的改造来实现的。

2.对于雪花算法参考了leaf和uid-genetator的代码通过本地生成的方式来实现的。

二.号码段:在1/3中已经叙述过了

三.雪花算法:

自己创建了一个比较简练的项目:

依据下面方案,工作机器id设置为workerId(5),datacenterId(5),twepoch开始时间戳(毫秒)的设置。

个人认为gitee.com/horizon_546262445/simple-snowflake​​

每当项目启动时使用本服务的ip,端口,项目名称,datacenterId写入表中,返回主键,这个返回的主键就是workerId​。

当然这里因为设置的workerId分配了5位的长度,因此最大到32,当然也可以调整workerId和datacenterId的占用比例,这样对于小型项目的需求时足够的了。

为了便于管理对于同一个项目前提:

分布式ID生成策略实施步骤详解?

twepoch设置一致;

datacenterId设置一致;

workerId动态化(1-32);

服务的ip,端口可以考虑使用jar命令参数指定(脚本管理或者docker管理都可以实现)

这样,后面可以通过调整datacenterId来扩展节点数量。

未完待续

本文共计380个文字,预计阅读时间需要2分钟。

分布式ID生成策略实施步骤详解?

一. 我们的经验分为+ 标号段(1/3分享)+ 雪花算法(2/3分享)+ 两种类型:

1.对标号段的实践,使用的有基于tinode项目的几个类改造来实现。

2.对雪花算法参考了leaf和“。

一.我们的实践分为 号码段(1/3分享) 和 雪花算法(2/3分享) 两种类型:

1.对于号码段的实践使用的是滴滴tinyid项目基础上做了几个类的改造来实现的。

2.对于雪花算法参考了leaf和uid-genetator的代码通过本地生成的方式来实现的。

二.号码段:在1/3中已经叙述过了

三.雪花算法:

自己创建了一个比较简练的项目:

依据下面方案,工作机器id设置为workerId(5),datacenterId(5),twepoch开始时间戳(毫秒)的设置。

个人认为gitee.com/horizon_546262445/simple-snowflake​​

每当项目启动时使用本服务的ip,端口,项目名称,datacenterId写入表中,返回主键,这个返回的主键就是workerId​。

当然这里因为设置的workerId分配了5位的长度,因此最大到32,当然也可以调整workerId和datacenterId的占用比例,这样对于小型项目的需求时足够的了。

为了便于管理对于同一个项目前提:

分布式ID生成策略实施步骤详解?

twepoch设置一致;

datacenterId设置一致;

workerId动态化(1-32);

服务的ip,端口可以考虑使用jar命令参数指定(脚本管理或者docker管理都可以实现)

这样,后面可以通过调整datacenterId来扩展节点数量。

未完待续