Skip to content

Kubernetes-native platform to run massively parallel data/streaming jobs

License

Notifications You must be signed in to change notification settings

mshakira/numaflow

 
 

Repository files navigation

Numaflow

Go Report Card slack GoDoc License Release Version CII Best Practices

Summary

Numaflow is a Kubernetes-native tool for running massively parallel stream processing. A Numaflow Pipeline is implemented as a Kubernetes custom resource and consists of one or more source, data processing, and sink vertices.

Numaflow installs in a few minutes and is easier and cheaper to use for simple data processing applications than a full-featured stream processing platforms.

Use Cases

  • Real-time data analytics applications.
  • Event driven applications such as anomaly detection, monitoring, and alerting.
  • Streaming applications such as data instrumentation and data movement.
  • Workflows running in a streaming manner.

Key Features

  • Kubernetes-native: If you know Kubernetes, you already know how to use Numaflow.
  • Language agnostic: Use your favorite programming language.
  • Exactly-Once semantics: No input element is duplicated or lost even as pods are rescheduled or restarted.
  • Auto-scaling with back-pressure: Each vertex automatically scales from zero to whatever is needed.

Data Integrity Guarantees:

  • Minimally provide at-least-once semantics
  • Provide exactly-once semantics for unbounded and near real-time data sources
  • Preserving order is not required

Roadmap

  • Map Streaming (1.3)

Demo

Numaflow Demo

Resources

About

Kubernetes-native platform to run massively parallel data/streaming jobs

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 76.1%
  • TypeScript 18.6%
  • Rust 3.3%
  • Shell 0.8%
  • CSS 0.5%
  • Makefile 0.4%
  • Other 0.3%