reugn / go-streams

A lightweight stream processing library for Go
https://pkg.go.dev/github.com/reugn/go-streams
MIT License
1.89k stars 158 forks source link
aerospike data-pipeline data-stream etl kafka kafka-streams low-code nats-streaming pipeline pulsar redis stream-processing stream-processor streaming-api streaming-data streams throttling websocket windowing workflow

go-streams

Build PkgGoDev Go Report Card codecov

A lightweight stream processing library for Go.
go-streams provides a simple and concise DSL to build data pipelines. pipeline-architecture-example

Wiki
In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements.

Overview

Building blocks:

Implemented Flows (flow package):

Supported Connectors:

Examples

Usage samples are available in the examples directory.

License

Licensed under the MIT License.