| Hi HN — I built Ayder because Kafka in 2025 feels like starting a car with a hand crank. # That's it. You're streaming.
curl -X POST localhost:1109/broker/topics/orders/produce -d '{"item":"widget"}' Single binary. Zero dependencies. HTTP-native (not a proxy). Built in C with libuv. Performance (wrk2, real network, 3-node Raft, sync-majority writes): Throughput: 50K msg/s sustained
P99: 3.46ms
P99.9: 12.94ms
Server P99.999: 1.22ms (HTTP isn't the bottleneck)
Recovery time — the number nobody talks about: Kafka after unclean shutdown: 2+ hours (real production reports)
Ayder after SIGKILL: 40-50 seconds with 8 million offsets
Tested repeatedly. Zero data loss. Follower replays AOF, asks leader for missing offsets, catches up automatically. No manual intervention.What you get:
- Append-only log with consumer groups + committed offsets
- Raft consensus (3/5/7 nodes) with mTLS
- KV store with CAS + TTL
- Stream processing: filter, group_by, windowed joins (including cross-format Avro+Proto)
- Idempotent produce, retention policies, Prometheus metrics I'm a solo founder from Kazakhstan, self-taught systems programmer. Spent 8 months building this. Looking for feedback on the API, what's missing, and early design partners. GitHub: https://github.com/A1darbek/ayder |