Open source · built in Go

Streams that run
where your code runs.

Weibo is an embeddable stream processing engine for stateful pipelines, event-time windows, and exactly-once Kafka delivery.

Read the quickstart go get github.com/ASHUTOSH-SWAIN-GIT/weibo
pipeline / order-totalsRUNNING
01
Kafka sourceorders.v1
02
Key bycustomer_id
03
Reducerunning_total
04
Txn sinkbalances.v1
checkpoint 184 committed8,421 rec/s
NO CLUSTERPEBBLE STATEBOUNDED EDGESKAFKA TRANSACTIONS

Your application is the platform.

Keep stream logic, deployment, and observability in the same place as the service that owns them. Weibo gives Go applications durable state without introducing another distributed system.

01

State lives with your code

Embed the runtime in a Go process. No control plane, JVM, or separate cluster to babysit.

02

Recovery is a protocol

Barriers align state, source offsets, and transactional output into one durable commit.

03

Backpressure is visible

Bounded edges expose blocked sends, capacity, throughput, and lag through metrics.

One graph. One process.

Describe the flow.
Weibo handles the machinery.

Sources, keyed operators, state, and sinks compile into a bounded execution graph with deterministic recovery.

pipeline.go output graph
pipeline.goGo
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)

Crash anywhere.
Resume precisely.

Source offsets captured
Operator state persisted
Sink transaction committed
Graph restored deterministically

Pick your entry point.

Browse all documentation
Stateful stream processing for Go

Ship the pipeline
with the product.

Start with Weibo