https://github.com/msales/streams
Simple Go stream processor
https://github.com/msales/streams
go-library golang processing streams
Last synced: 10 months ago
JSON representation
Simple Go stream processor
- Host: GitHub
- URL: https://github.com/msales/streams
- Owner: msales
- License: mit
- Created: 2018-04-18T09:21:33.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-27T16:31:06.000Z (over 1 year ago)
- Last Synced: 2025-04-14T01:31:14.657Z (about 1 year ago)
- Topics: go-library, golang, processing, streams
- Language: Go
- Size: 4.19 MB
- Stars: 32
- Watchers: 9
- Forks: 7
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Streams
[](https://goreportcard.com/report/github.com/msales/streams)
[](https://github.com/msales/streams/actions/workflows/test.yaml)
[](https://coveralls.io/github/msales/streams?branch=master)
[](https://godoc.org/github.com/msales/streams)
[](https://github.com/msales/streams/releases)
[](https://raw.githubusercontent.com/msales/streams/master/LICENSE)
Streams is a light weight, simple stream processing library. While Kafka is the main use case for Streams, it is
flexible enough to be used for any form of processing from any source.
## Installation
You can install streams using `go get`
```shell
go get github.com/msales/streams
```
## Concepts
Streams breaks processing into the following basic parts.
* **Message** is a message in the system, consisting of a key, value and context.
* **Sources** reads and handles position from a data source.
* **Processor** processes the data, optionally passing it on or marking the sources position. A sink is just a processor
the does not forward the data on.
* **Pipe** gives processors an abstract view of the current state, allowing Messages to flow through the system.
### Read more here:
https://medium.com/@rafamnich/getting-started-with-streams-v3-b9ab36fb9d54