Get Started in Under 2 Minutes
Choose your deployment target and verify Kafka wire compatibility with your favorite language.
1
Start a Krabka Cluster
Start single-node KRaft cluster
curl -fsSL https://krabka.io/quickstart/docker-compose.yml -o docker-compose.yml
docker compose up -d 2
Produce and Consume Your First Records
Async FutureProducer snippet
// Add to Cargo.toml: krabka-client = "1.0"
use krabka_client::producer::{FutureProducer, ProducerRecord};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let producer = FutureProducer::builder()
.bootstrap_servers("localhost:9092")
.build()?;
producer.send(
ProducerRecord::to("quickstart-events")
.key("user-1")
.payload(b"Hello Krabka from Rust!"),
).await?;
println!("Record successfully delivered to Krabka cluster.");
Ok(())
} 3
Inspect Telemetry & Dashboards
The quickstart stack includes krabka-o11y and a pre-configured Grafana instance tracking real-time produce throughput, memory working set, latency histograms, and KRaft quorum state.
Dashboards / Krabka — Overview
LIVE
Prometheus: Connected
Last 15m • 5s refresh
Messages in (msg/s) sum(rate(kafka_server_brokertopicmetrics_messagesin_total[1m]))
54,280 msg/sec
Memory working set (RSS) container_memory_working_set_bytes
114.2 MiB / broker
Produce request latency histogram_quantile(0.99, kafka_network_requestmetrics_totaltimems)
840 µs (p99)
p50: 310 µs p95: 540 µs p99: 840 µs
Broker & Partition Health KRaft Quorum Active
0 Offline / Under-Replicated Partitions
Node-1
Active Controller
Node-2
KRaft Voter
Node-3
KRaft Voter
Live Grafana 11 instance:
http://localhost:3000 (user: admin / pass: admin)