首页 新闻 会员 周边

雪花算法 有那么好用吗?

0
[已解决问题] 解决于 2021-03-03 09:28

雪花算法 无非就是 时间戳+ 数据中心id + 节点id + 序列号。

那我是不是 直接 时间戳 * 1000 * 10 + 节点id(限制在10 以内) * 1000+ 序列号(限制在1000 以内), 是不是 同样的可以生成 全局唯一id?

是不是可以达到完全一样的效果?

雪花算法 为什么被称为 雪花算法? 跟雪花 有关?

它这个算法, 普普通通, 有什么神奇吗?

CanntBelieve的主页 CanntBelieve | 初学一级 | 园豆:34
提问于:2021-02-28 17:14
< >
分享
最佳答案
1

。。乘以1000没有意义吧,单纯是为了放在你那个数字的前面吗?。。
理论上是的,你这个也可以算是为了达到唯一id的实现。

之所以叫雪花算法,有一种说法是,没有一片一模一样的雪花。

你以为神奇是指?这个就是为了实现分布式情况下的id不重复,且时间戳能保证顺序,因为对于数据库来说,无序的索引创建的时候耗费的资源是很大的。

奖励园豆:5
WMG-Eight | 小虾三级 |园豆:973 | 2021-03-01 13:15

明白了雪花算法。不过它还是有些复杂,我的算法是不是更加简单?

CanntBelieve | 园豆:34 (初学一级) | 2021-03-03 09:27

雪花算法 的缺点很明显,就是太长了,而且需要手动维护节点id; 比较麻烦,怎么破?

CanntBelieve | 园豆:34 (初学一级) | 2021-03-03 09:28
其他回答(2)
0

它生成的是一个long,你这生成的是啥

yytxdy | 园豆:1680 (小虾三级) | 2021-03-01 09:08

拼一起,也是一个long

支持(0) 反对(0) CanntBelieve | 园豆:34 (初学一级) | 2021-03-03 09:25
0

史上最强雪花ID全家桶:
https://gitee.com/yitter/idgenerato

yitter | 园豆:202 (菜鸟二级) | 2021-04-12 17:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册