So, I'm getting started on researching Apache Flink and Temporal to understand if they can be integrated into my current stack. So far, what I understand is both Flink and Temporal is used to replay process in a sequence from source to sink in case of failure, like reload your saved games from reading states in your save files (checkpoints). If so, does that mean Flink and Temporal are completely interchangeable? is there a real world sample case where Flink is appropriate but Temporal is not, and vice versa? I'm struggling to differentiate between the two.
Thanks
Apache Flink and Temporal are built for different use cases.
Apache Flink is a stream processing engine for large-scale, stateful, real-time data processing. It works on event streams. Typical use cases: real-time analytics, stream processing, predictions, machine learning, fraud detection.
Temporal.io is a workflow engine for long-running processes. It runs workflows as code, persists their state, and automatically handles retries, failures, and timers. Typical use: order processing, sagas, service coordination.
Flink processes data streams, focusing on high-throughput stateful computation. Temporal orchestrates control flow, ensuring workflows complete reliably over time. So they solve quite different problems.