如何在分布式环境中创建64位数字ID

时间:2019-02-04 04:49:59

标签: java distributed

如何在分布式环境中创建唯一数量的Java long类型? 我的要求是:

1- 64位数字

2-安全重启

3-分布式环境

3-没有碰撞

请注意,拥有无冲突的分布式环境会使用计数器或当前时间排除simple approaches

2 个答案:

答案 0 :(得分:0)

如果您确实有一个分布式系统,即多个可执行实例正在创建ID,并且ID在所有实例中都必须是唯一的,则可能需要使用Redis之类的东西。 Redis支持自动增量操作,可以帮助您解决这一问题。

答案 1 :(得分:0)

Use AtomicLong and a Timer

,然后使用像Hashset这样的Collection处理其值,而不会发生冲突。