繁体   English   中英

如何在集群中生成唯一ID

[英]How to generate unique ID in clustering

是否有任何集群API可以帮助跨许多服务器生成唯一ID?

保留一些ID

Server 1:   1000000.. 2999999
Server 2:   2000000.. 3999999
...
Server 3:   3000000.. 3999999

您可以添加一些智能性,以使保留个性化,但是没有必要。

使用UUID
即使在实践中可能发生碰撞,但从天文角度来看,每个人使用它的可能性都非常低,包括关键的工业应用。
是关于碰撞概率的讨论。

Hazelcast是针对Java的超级简单的开源集群解决方案。 这是文档中的报价。

Hazelcast IdGenerator创建群集范围内的唯一ID。 生成的ID是介于0和Long.MAX_VALUE之间的long类型基元值。 ID生成几乎以AtomicLong.incrementAndGet()的速度发生。 生成的ID在集群的生命周期内是唯一的。 如果重新启动整个群集,则ID将从0重新开始。

导入com.hazelcast.core.IdGenerator;

导入com.hazelcast.core.Hazelcast;

IdGenerator idGenerator = Hazelcast.getIdGenerator(“ customer-ids”);

长id = idGenerator.newId();

http://www.hazelcast.com/documentation.jsp#IdGenerator

我使用的是hazelcast,这是一个非常好的群集框架,提供唯一的ID等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM