雪花算法生成 ID,如何便捷的生成机器 ID

2022-09-26 12:02:00 +08:00
 NoKey

打算用雪花算法生成 ID

这里面有个机器 ID

如果我们部署多个服务的话

在没有注册中心的场景下,怎么能够方便的生成 ID 啊

请大家赐教。

4686 次点击
所在节点    程序员
23 条回复
Marcoo
2022-09-27 16:18:51 +08:00
我们是使用 Redis ,起一个自增一个 然后检查对应 key (有 5 分钟失效时间)是否存在 如果存在则再自增。
然后维持好心跳,一分钟发次心跳,续 5 分钟的失效时间
NoKey
2022-09-28 10:57:58 +08:00
@Marcoo 自增到 workID 最大值了怎么处理?回头来?或者场景上就不可能达到最大值
Marcoo
2022-09-29 15:38:06 +08:00
@NoKey 是的 有个最大值 到最大值了就再从 0 开始 就这样一直循环下去。反正我们的实例数不多 基本上很少会冲突的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882977

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX