Generated by GPT-5-mini| Apache Flink | |
|---|---|
![]() ™/®The Apache Software Foundation · Apache License 2.0 · source | |
| Name | Apache Flink |
| Developer | The Apache Software Foundation |
| Initial release | 2014 |
| Programming language | Java, Scala |
| Operating system | Cross-platform |
| License | Apache License 2.0 |
Apache Flink is an open-source stream-processing framework for distributed, high-throughput, low-latency data processing. It provides APIs for stateful computations over unbounded and bounded data streams and integrates with cluster managers, storage systems, and messaging platforms. Flink is widely used in real-time analytics, event-driven applications, and data pipeline architectures across industry and research.
Apache Flink is designed as a unified stream and batch processing engine that supports exactly-once state consistency and event-time semantics. It targets scenarios encountered in industries such as finance, telecommunications, and e‑commerce and interoperates with platforms like Hadoop Distributed File System, Apache Kafka, Amazon Web Services, Google Cloud Platform, and Microsoft Azure. Flink's runtime emphasizes fault tolerance, checkpointing, and backpressure handling, and it coexists with ecosystems surrounding Hadoop, Spark, Storm, Samza, and Apache Beam.
Flink originated from the research project Stratosphere at the Technical University of Berlin and evolved through contributions from companies and institutions including data Artisans, Alibaba Group, Verizon, Zalando SE, and academic collaborators. The project entered the Apache Incubator and graduated to a top-level project under The Apache Software Foundation in the 2010s, with notable releases that introduced features such as the Table API, SQL support, and stateful stream processing. Its development has been influenced by earlier systems and research like MapReduce, Dryad, Apache Hadoop, Google MapReduce, Lambda architecture, Kappa architecture, and stream processing literature from University of California, Berkeley and MIT labs.
Flink's architecture separates the logical program from the distributed runtime. The execution model consists of a JobManager (or multiple for high availability) and TaskManagers, similar in role to components in Apache Hadoop YARN and Kubernetes. The runtime uses a directed acyclic graph (DAG) of operators, managed state backends, and snapshot-based checkpointing inspired by research such as Chandy–Lamport algorithm influences and concepts used in Zookeeper. Flink integrates with storage and messaging systems including Apache Cassandra, HBase, Amazon S3, Google Cloud Storage, and Apache Kafka Connect for connectors and with orchestration systems like Mesos, YARN, and Kubernetes.
Flink exposes multiple APIs targeted at different developer audiences: the DataStream API for event streams, the DataSet API (legacy) for batch, the Table API and SQL for relational-style processing, and lower-level ProcessFunction and CoProcessFunction primitives for custom event-time and stateful logic. Key concepts include state backends (RocksDBStateBackend, FsStateBackend), event time and watermarks, windowing strategies (tumbling, sliding, session), and checkpointing for fault tolerance. Integration points include connectors for Apache Kafka, RabbitMQ, Apache Pulsar, JMS, and formats like Avro, Parquet, and ORC. Flink's APIs interoperate with languages and runtimes such as Java (programming language), Scala (programming language), and community efforts for Python (programming language) and SQL.
Flink is applied in streaming ETL, real-time monitoring, fraud detection, and anomaly detection for sectors represented by companies like Netflix, Uber, Alibaba Group, Spotify, and ING Group. Typical deployment topologies run on cluster managers such as Kubernetes, Apache Mesos, and Hadoop YARN and use observability stacks including Prometheus, Grafana, and Elasticsearch. Flink pipelines commonly integrate with data warehousing and OLAP systems like ClickHouse, Apache Druid, Snowflake, and Google BigQuery for serving analytical workloads. Production deployments emphasize rolling upgrades, state migration, and multi-tenant isolation practiced at organizations such as Zalando SE and Verizon.
Flink focuses on low-latency processing with backpressure control, operator chaining, and asynchronous I/O to maximize throughput. State management via RocksDB or in-memory backends supports large working sets and incremental checkpointing reduces recovery times, practices aligned with distributed systems work from Google, Amazon, and academic studies at ETH Zurich and Carnegie Mellon University. Benchmarks compare Flink with Apache Spark, Storm, and Samza, often highlighting differences in latency, fault-recovery, and exactly-once guarantees in scenarios built by organizations such as LinkedIn and Spotify.
The Flink project is governed by The Apache Software Foundation and sustained by a community of contributors from companies, research institutions, and independent developers. The ecosystem includes extensions and projects such as FlinkCEP, FlinkML, the SQL client, and connectors contributed by organizations like Confluent, Cloudera, DataStax, and Huawei. Community governance, annual conferences, mailing lists, and working groups involve participants from data Artisans, Alibaba Group, Verizon, Netflix, and academic partners such as TU Berlin and University of California, Berkeley. The project collaborates with standards and tooling projects like Apache Arrow, OpenTracing, and OpenTelemetry to improve interoperability and observability.