rqlite-rs
rqlite-rs is a Rust client for rqlite, the distributed relational database built on SQLite, providing an async interface for seamless integration with Rust's async ecosystems. Utilizing reqwest for efficient connection management, it offers a Rustic, high-level API for easy and efficient interaction with rqlite clusters.
Features
- Asynchronous Interface: Fully async, compatible with Tokio, async-std, and smol.
- Connection Pooling: Efficient management of connections to the rqlite cluster.
- High-Level API: Simplifies interactions with the rqlite API.
- Resilience: Automatic failover to a secondary node on connectivity issues.
- Cluster Management: Full control over the cluster with node query and management features.
Installation
Add to your Cargo.toml
:
[dependencies]
...
+ rqlite-rs = "0.3.20"
Quick Start
Ensure you have a running rqlite cluster. Replace localhost:4001
and localhost:4002
with your node addresses:
use *;
async
Resilience
The client supports automatic failover, attempting to connect to the next known node if a connection error or timeout occurs, ensuring high availability.
Documentation
For detailed API documentation and advanced usage, visit rqlite-rs documentation.
Contributing
Contributions are welcome!
License
rqlite-rs is licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.