ClickHouse Connection Pool
A connection pooling library for ClickHouse in Rust, built on top of deadpool.
Features
- Connection Pooling: Efficiently reuse existing connections for improved performance
- Auto-Retry: Automatic retries with exponential backoff
- Health Checks: Periodic health checks to ensure connections are healthy
- Metrics Integration: Prometheus-compatible metrics for monitoring
- Graceful Shutdown: Graceful shutting down and clean up of existing connections
- Thread Safety: Support for concurrency
Installation
Add this to your Cargo.toml:
[]
= "0.1.0"
Quickstart
use ;
async
Configuration
ClickHouseConfig
let config = new;
// Set timeouts
config.connect_timeout_seconds = 10;
config.query_timeout_seconds = 30;
RetryConfig
let retry_config = RetryConfig ;
Connection Health and Statistics
// Get current pool status
let status = pool.status;
println!;
println!;
// Get detailed statistics
let stats = pool.stats;
println!;