jetcd | Java binding for etcd | Key Value Database library
kandi X-RAY | jetcd Summary
kandi X-RAY | jetcd Summary
A simple Java client library for the awesome [etcd]. Uses the Apache [HttpAsyncClient] to implement watches without blocking a thread, and Google’s [Guava] to give us the nice [ListenableFuture] interface.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Delete a given key
- Builds the key URI
- Execute a http request
- Extract the JSON response from the Etcd response
- Lists a directory
- Get a key
- Returns a String representation of Etcd
- Format the given object as JSON
- Returns the version of the Etd server
- Executes the request and returns the JSON response
- Sets a key to a value
- Sets the data for a key
- Creates a directory
- List children for a key
- Deletes a directory
- Build default http client
- Synchronously retrieves all keys in the given request
jetcd Key Features
jetcd Examples and Code Snippets
Community Discussions
Trending Discussions on jetcd
QUESTION
We are choosing the best option for implementing a leader election for our service (written in Java) comprised of multiple (e.g., 3) instances for high availability. Our goal is to have only a single instance active at any given time.
Would be great to hear your opinion about the following options:
1) Hazelcast. Using "quorum" and a lock we can implement a leader election. However, we can run into a split-brain problem where for some time two leaders may be present. Also, it seems that Hazelcast does not support SSL.
2) Zookeeper. We can implement leader election on top of a Zookeeper ensemble (where a ZK node is run on each instance of our service). Does Zookeeper provide better consistency guarantees than Hazelcast? Does it also suffer from the split-brain problem?
3) Etcd. We can use the Jetcd library which seems like the most modern and robust technology. Is it really better in terms of consistency than Zookeeper?
Thank you.
...ANSWER
Answered 2019-Sep-05 at 11:561) Hazelcast, by version 3.12, provides a CPSubsystem
which is a CP
system in terms of CAP and built using Raft consensus algorithm inside the Hazelcast cluster. CPSubsytem
has a distributed lock implementation called FencedLock
which can be used to implement a leader election.
For more information about CPSubsystem
and FencedLock
see;
- CP Subsystem Reference manual
- Riding the CP Subsystem
- Distributed Locks are Dead; Long Live Distributed Locks!
Hazelcast versions before 3.12 are not suitable for leader election. As you already mentioned, it can choose availability during network splits, which can lead to election of multiple leaders.
2) Zookeeper doesn't suffer from the mentioned split-brain problem, you will not observe multiple leaders when network split happens. Zookeeper is built on ZAB atomic broadcast protocol.
3) Etcd is using Raft consensus protocol. Raft and ZAB have similar consistency guarantees, which both can be used to implement a leader election process.
Disclaimer: I work at Hazelcast.
QUESTION
I am trying to implement a C# GRPC client for etcd v3+.I am able to connect via no auth and channel ssl auth.However, I am trying to figure out basic authentication mechanism as well.Here's my implementation till now.
...ANSWER
Answered 2018-May-29 at 09:48I solved it by referring to REST api docs here.
Add a private property.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install jetcd
You can use jetcd like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the jetcd component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page