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
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
JVM Strimzi (4.2 GiB)
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)