Open source · Go

Stream processing that lives in your code.

Weibo is an embeddable stream processing engine for Go — keyed state, event-time windows, and exactly-once Kafka delivery, with no cluster to operate.

pipeline.go
env := weibo.NewEnv().
    WithCheckpointing(30*time.Second, storage).
    WithStateBackend(state.Pebble("./state"))

env.FromSource(orders).
    KeyBy(byCustomer).WithPartitions(4).
    Reduce(sumAmounts).
    ToSink(kafka.NewTransactionalSink(output))

env.Execute(ctx)

Embedded

A Go library, not a cluster. Import it and run it inside your service.

Keyed state

Per-key state in memory, or on disk with Pebble for millions of keys.

Event time

Tumbling, sliding, and session windows driven by watermarks.

Exactly-once

Offsets, state, and Kafka output commit as one checkpoint.

Backpressure

Bounded edges. A slow sink slows the source, not your memory.

Control plane

Optional dashboard, CLI, and REST API to run jobs as containers.

Start building

Browse all docs
Go SDKBuild a pipeline in code
WorkflowsDeclare a pipeline in YAML
InternalsHow checkpointing works
DeploymentSelf-host the control plane