A Java client library for etcd using Apache HttpAsyncClient and Google Guava's ListenableFuture.
jetcd is a Java binding for etcd, a distributed key-value store used for configuration management and service discovery. It provides a simple Java client library that allows applications to interact with etcd clusters, enabling operations like setting, getting, and watching keys. The library uses asynchronous HTTP clients to efficiently handle watches without blocking threads.
Java developers building distributed systems or microservices that require centralized configuration, service discovery, or coordination via etcd.
Developers choose jetcd for its lightweight design, non-blocking watch implementation using Apache HttpAsyncClient, and integration with Guava's ListenableFuture for clean asynchronous programming, making it a straightforward and efficient Java client for etcd.
Java binding for etcd
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Apache HttpAsyncClient to implement etcd watches without blocking threads, enabling efficient concurrency in Java applications as highlighted in the README.
Integrates Google Guava's ListenableFuture for asynchronous operations, providing a straightforward way to handle async calls, as demonstrated in the code example with watch futures.
Offers easy-to-use methods for core etcd operations like get, set, and watch, reducing the learning curve for developers working with etcd.
Designed as a minimal client focused on essential functionality, keeping dependencies low and integration simple, as stated in the key features.
Primarily targets the older HTTP-based etcd API, lacking support for the gRPC-based etcd v3 which offers better performance and advanced features like multi-version concurrency control.
The README provides only basic examples and links to a smoke test, with no comprehensive guides or detailed API references, making advanced usage and troubleshooting difficult.
Relies on Apache HttpAsyncClient and Guava, which may not align with modern Java ecosystems that prefer newer async frameworks like Netty or reactive libraries such as Reactor.