// the find
liftbridge-io/liftbridge
Kafka-style message streaming in Go. Built on NATS. Single binary, no JVM, no ZooKeeper.
Liftbridge adds durable, replicated message streams on top of NATS — think Kafka's commit log semantics without the JVM or ZooKeeper. It speaks gRPC, stores messages in a local commit log with configurable retention, and replicates via Raft. Aimed at Go shops already running NATS who want persistent streaming without pulling in the full Kafka stack.
Single Go binary with embedded NATS option means zero external dependencies to bootstrap; the commit log implementation (server/commitlog/) is a real, hand-rolled segment+index log, not a wrapper around something else. Consumer group support with cursor tracking is genuinely useful for at-least-once processing without a separate offset store. The benchmarks are honest — they compare directly against JetStream and show Liftbridge losing on throughput at equivalent settings, which is a rare and welcome act of transparency.
NATS JetStream now covers most of the same ground natively, which makes the value proposition harder to justify for new adopters — you're adding a sidecar to NATS to get features NATS already ships. Client library situation is thin: the official Go client exists, but community clients are sparse and the protocol docs suggest you'd be hand-rolling gRPC bindings for anything else. The project is now under 'Basekick Labs' stewardship rather than its original author, and with only 117 forks and no clear commercial backer, bus-factor risk is real for a piece of infrastructure you'd put in a critical path.