akashjkhamkar / numaflow

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

Home Page:https://numaflow.numaproj.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • Session Window (1.2)

Demo

Numaflow Demo

Resources

About

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

https://numaflow.numaproj.io

License:Apache License 2.0


Languages

Language:Go 77.8%Language:TypeScript 20.1%Language:Shell 0.9%Language:CSS 0.5%Language:Makefile 0.4%Language:Smarty 0.1%Language:HTML 0.1%Language:Dockerfile 0.1%Language:Lua 0.0%Language:Awk 0.0%Language:JavaScript 0.0%