Skip navigation links

Package io.vertx.servicediscovery.backend.zookeeper

== Vert.x Discovery Backend - Zookeeper The service discovery has a plug-able backend using the ServiceDiscoveryBackend SPI.

See: Description

Package io.vertx.servicediscovery.backend.zookeeper Description

== Vert.x Discovery Backend - Zookeeper The service discovery has a plug-able backend using the ServiceDiscoveryBackend SPI. This is an implementation of the SPI based on Apache Zookeeper. == Using the Zookeeper backend To use the Zookeeper backend, add the following dependency to the _dependencies_ section of your build descriptor: * Maven (in your `pom.xml`): [source,xml,subs="+attributes"] ---- ${maven.groupId} ${maven.artifactId} ${maven.version} ---- * Gradle (in your `build.gradle` file): [source,groovy,subs="+attributes"] ---- compile '${maven.groupId}:${maven.artifactId}:${maven.version}' ---- Be aware that you can have only a single implementation of the SPI in your _classpath_. If none, the default backend is used. == Configuration There is a single mandatory configuration attribute: `connection`. Connection is the Zookeeper connection _string_. Here is an example: [source,$lang] ---- examples.Examples#configuration1(io.vertx.core.Vertx) ---- Additionally you can configure: * `maxRetries`: the number of connection attempt, 3 by default * `baseSleepTimeBetweenRetries`: the amount of milliseconds to wait between retries (exponential backoff strategy). 1000 ms by default. * `connectionTimeoutMs`: the connection timeout in milliseconds. Defaults to 1000. * `canBeReadOnly` : whether or not the backend support the _read-only_ mode (defaults to false) * `basePath`: the Zookeeper path in which the service records are stored. Default to `/services`. * `ephemeral`: whether or not the created nodes are ephemeral nodes (see https://zookeeper.apache.org/doc/r3.4.5/zookeeperOver.html#Nodes+and+ephemeral+nodes). `false` by default * `guaranteed`: whether or not to guarantee the node deletion even in case of failure. `false` by default [source,$lang] ---- examples.Examples#configuration2(io.vertx.core.Vertx) ---- == How are stored the records The records are stored in individual nodes structured as follows: [source] ---- basepath (/services/) | |- record 1 registration id => the record 1 is the data of this node |- record 2 registration id => the record 2 is the data of this node ----
Skip navigation links

Copyright © 2018. All rights reserved.