A high-performance, distributed streaming platform built for modern cloud-native applications. 10-100x lower latency, 95% less memory, and instant startup compared to traditional solutions.
Built for performance, reliability, and operational simplicity
Sub-millisecond latency (~25µs) with optimized LSM-tree storage and efficient binary protocol.
Runs in <100MB footprint. Perfect for containers and resource-constrained environments.
No complex setup, no JVM tuning, no ZooKeeper. Just a single 15MB binary and you're ready to go.
Circuit breakers, health checks, structured logging, and Prometheus metrics built-in.
Cold start in under 1 second vs 15-45 seconds for JVM-based solutions. Fast recovery and failover.
Idiomatic Go client, automatic batching, connection pooling, and rich examples out of the box.
Real-world benchmarks on Apple M4 Max, Go 1.23
| Metric | StreamBus | Apache Kafka | Advantage |
|---|---|---|---|
| Producer Latency | 25 µs | 0.5-5 ms | 20-200x faster |
| Memory Footprint | <100 MB | 2-8 GB | 95% less memory |
| Cold Start | <1 second | 15-45 seconds | 15-45x faster |
| GC Pauses | <1 ms | 10-200 ms | 10-200x less |
| Binary Size | 15 MB | N/A (JVM) | Single binary |
Per connection with minimal CPU usage
End-to-end producer send latency
LSM-tree write operation
Get started in minutes with our idiomatic Go SDK
package main
import (
"log"
"github.com/gstreamio/streambus-sdk/client"
)
func main() {
// Connect to StreamBus
config := client.DefaultConfig()
config.Brokers = []string{"localhost:9092"}
c, err := client.New(config)
if err != nil {
log.Fatal(err)
}
defer c.Close()
// Create producer
producer := client.NewProducer(c)
defer producer.Close()
// Send message
err = producer.Send("events",
[]byte("key"),
[]byte(`{"event": "user.signup", "userId": "123"}`))
if err != nil {
log.Fatal(err)
}
log.Println("Message sent!")
}
package main
import (
"log"
"github.com/gstreamio/streambus-sdk/client"
)
func main() {
config := client.DefaultConfig()
config.Brokers = []string{"localhost:9092"}
c, err := client.New(config)
if err != nil {
log.Fatal(err)
}
defer c.Close()
// Create consumer
consumer := client.NewConsumer(c, "events", 0)
defer consumer.Close()
// Start from beginning
if err := consumer.Seek(0); err != nil {
log.Fatal(err)
}
// Fetch messages
record, err := consumer.FetchOne()
if err != nil {
log.Fatal(err)
}
log.Printf("Received: %s", record.Value)
}
package main
import (
"context"
"log"
"github.com/gstreamio/streambus-sdk/client"
)
func main() {
config := client.DefaultConfig()
config.Brokers = []string{"localhost:9092"}
c, err := client.New(config)
if err != nil {
log.Fatal(err)
}
defer c.Close()
// Create consumer group
groupConfig := &client.GroupConsumerConfig{
GroupID: "analytics",
Topics: []string{"events"},
}
consumer, err := client.NewGroupConsumer(c, groupConfig)
if err != nil {
log.Fatal(err)
}
defer consumer.Close()
// Process messages
ctx := context.Background()
consumer.Start(ctx, func(record *client.Record) error {
log.Printf("Processing: %s", record.Value)
return nil
})
}
go get github.com/gstreamio/streambus-sdk
Production-grade features for mission-critical workloads
TLS encryption, SASL authentication, ACL-based authorization, and comprehensive audit logging.
Multi-broker replication, automatic failover, and Raft consensus for zero-downtime operations.
Prometheus metrics, OpenTelemetry tracing, structured logging, and pre-built Grafana dashboards.
Resource isolation, quota management, and tenant-level security for SaaS deployments.
Built-in schema validation for Avro, Protobuf, and JSON Schema with version management.
Transactional producers and consumers with idempotent message delivery guarantees.
Open source and community-driven
Star the project, report issues, and contribute code
→Ask questions, share ideas, and get help
→Complete API reference and examples
→Get in touch with the team
→Install StreamBus and start building high-performance streaming applications
git clone https://github.com/gstreamio/streambus.git
go build -o bin/streambus cmd/server/main.go
./bin/streambus --port 9092
go get github.com/gstreamio/streambus-sdk