ServiceDiscoveryBackend
SPI.See: Description
Class | Description |
---|---|
ZookeeperBackendService |
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"]
----
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
----Copyright © 2018. All rights reserved.