When we talk about Apache Flink, it is a distributed stream processing framework that can operate in both streaming and batch modes. I assume this question is about Stream Processing equivalent in C#/dotnet. There are several open-source projects:
Streamiz.Kafka.Net: is a Kafka Streams–style .NET library that provides state stores, windowing, joins, and support for exactly-once semantics. It can also work with Pulsar through KoP. However, as an open-source project, it currently does not offer as many features as Apache Flink. https://github.com/LGouellec/streamiz
.NET for Apache Spark: Apache Spark (Structured Streaming) supports stream processing but primarily runs in micro-batches (near‑real‑time), with an optional but limited continuous processing mode, whereas Apache Flink primally supports real time stream processing that processes records as they arrive; both offer event‑time semantics, watermarks, stateful operations, and fault tolerance, but Flink typically achieves lower per‑event latency. https://github.com/dotnet/spark
Akka.NET Streams: When discussing distributed stream processing, the main approaches are typically Kafka-based or Actor Model–based. Akka.NET focuses on the Actor Model for distributed and stream processing, which is quite different from what Apache Flink offers. While a well-tuned Kafka + Flink cluster can achieve throughput on the order of billions of messages per second across many nodes, Akka.NET generally reaches millions of events per second per node. https://github.com/akkadotnet/akka.net
Temporal (with .NET SDK): A workflow and orchestration engine designed for durable, long-running, and stateful workflows that can be invoked from C# to implement reliable business processes. When combined with the Confluent Kafka Streams API, it can also be used to build distributed stateful stream-processing systems. https://github.com/temporalio/sdk-dotnet
Confluent Kafka for .NET: Confluent.Kafka is the official .NET client for Kafka (use it together with Streamiz or your own processing to build stateful pipelines); GitHub: https://github.com/confluentinc/confluent-kafka-dotnet
FlinkDotnet: This is my personal project, so please take it as a reference. FlinkDotnet acts as a bridge that enables communication with Apache Flink through a fluent C# API, supporting most of Flink’s core features (including event-time processing, watermarks, keyed state, checkpoints, and exactly-once semantics). The project includes LocalTesting and LearningCourse folders that demonstrate stream processing in distributed systems using Microsoft Aspire, integrating three core technologies: Apache Flink (real-time stream processing), Kafka (message streaming broker), and Temporal.io (workflow orchestration platform). https://github.com/devstress/FlinkDotnet