Package org.apache.pulsar.broker.service
Class DistributedIdGenerator
java.lang.Object
org.apache.pulsar.broker.service.DistributedIdGenerator
Generate unique ids across multiple nodes.
Each node has an instance of this class and uses the same z-node. At startup each node gets assigned a unique id, using ZK sequential nodes.
After that, each node can just use a local counter and combine, the application prefix, its own instance id and with the counter incremental value to obtain a globally unique id.
-
Constructor Summary
ConstructorsConstructorDescriptionDistributedIdGenerator(org.apache.pulsar.metadata.api.coordination.CoordinationService cs, String path, String prefix) -
Method Summary
-
Constructor Details
-
DistributedIdGenerator
public DistributedIdGenerator(org.apache.pulsar.metadata.api.coordination.CoordinationService cs, String path, String prefix) throws Exception - Parameters:
cs-CoordinationServicepath- path of the z-node used to track the generators idsprefix- prefix to prepend to the generated id. Having a unique prefix can make the id globally unique- Throws:
Exception
-
-
Method Details
-
getNextId
-