Try our new research platform with insights from 80,000+ expert users
Apache Flink Logo

Apache Flink pros and cons

Vendor: Apache
3.9 out of 5
Badge Leader

Pros & Cons summary

Buyer's Guide

Get pricing advice, tips, use cases and valuable features from real users of this product.
Get the report

Prominent pros & cons

PROS

Apache Flink provides out-of-the-box checkpointing and state management, ensuring guaranteed message processing and aiding in maintenance and restarts.
The mapping function is valuable for transforming large data sets, allowing users to retrieve detailed information efficiently and map data based on specific criteria such as age groups.
Checkpointing and savepointing are crucial features for handling failures by writing aggregated states into separate storage for easy recall and recovery.
Apache Flink is designed for low latency applications and includes features like real-time indicators and alerts, enabling fast data processing and analysis.
It supports reducing latency and processing data in real-time, providing flexibility for deployment on any cluster and enabling the creation of complex data processing tasks.

CONS

Performance is affected when using RocksDB for checkpointing, and TimeWindow feature changes are tricky.
Watermarks are complex when handling multiple events in a pipeline, and documentation is outdated.
Failure handling and integration with other tools require more detailed documentation and updates.
Stability issues are prevalent, and the machine learning library lacks flexibility.
Apache Flink should provide more examples, sample code, and support, especially for beginners.
 

Apache Flink Pros review quotes

SD
Software Architect at a tech vendor with 501-1,000 employees
Oct 15, 2020
With Flink, it provides out-of-the-box checkpointing and state management. It helps us in that way. When Storm used to restart, sometimes we would lose messages. With Flink, it provides guaranteed message processing, which helped us. It also helped us with maintenance or restarts.
BH
Lead Software Engineer at a tech services company with 5,001-10,000 employees
Oct 19, 2020
The event processing function is the most useful or the most used function. The filter function and the mapping function are also very useful because we have a lot of data to transform. For example, we store a lot of information about a person, and when we want to retrieve this person's details, we need all the details. In the map function, we can actually map all persons based on their age group. That's why the mapping function is very useful. We can really get a lot of events, and then we keep on doing what we need to do.
JR
Sr Software Engineer at a tech vendor with 10,001+ employees
Oct 13, 2020
The documentation is very good.
Learn what your peers think about Apache Flink. Get advice and tips from experienced pros sharing their opinions. Updated: January 2026.
880,481 professionals have used our research since 2012.
RA
Sr. Software Engineer at a tech services company with 10,001+ employees
Oct 22, 2020
Another feature is how Flink handles its radiuses. It has something called the checkpointing concept. You're dealing with billions and billions of requests, so your system is going to fail in large storage systems. Flink handles this by using the concept of checkpointing and savepointing, where they write the aggregated state into some separate storage. So in case of failure, you can basically recall from that state and come back.
VI
Principal Software Engineer at a tech services company with 1,001-5,000 employees
Oct 21, 2020
Apache Flink is meant for low latency applications. You take one event opposite if you want to maintain a certain state. When another event comes and you want to associate those events together, in-memory state management was a key feature for us.
reviewer1450275 - PeerSpot reviewer
Software Development Engineer III at a tech services company with 5,001-10,000 employees
Nov 10, 2020
This is truly a real-time solution.
reviewer1494531 - PeerSpot reviewer
Head of Data Science at a energy/utilities company with 10,001+ employees
Feb 2, 2021
The setup was not too difficult.
Armando Becerril - PeerSpot reviewer
Partner / Head of Data & Analytics at Intelligence Software Consulting
Mar 3, 2021
The top feature of Apache Flink is its low latency for fast, real-time data. Another great feature is the real-time indicators and alerts which make a big difference when it comes to data processing and analysis.
Ertugrul Akbas - PeerSpot reviewer
Manager at ANET
Jan 30, 2023
It is user-friendly and the reporting is good.
Ilya Afanasyev - PeerSpot reviewer
Senior Software Development Engineer at Yahoo!
Aug 3, 2022
Allows us to process batch data, stream to real-time and build pipelines.
 

Apache Flink Cons review quotes

SD
Software Architect at a tech vendor with 501-1,000 employees
Oct 15, 2020
The state maintains checkpoints and they use RocksDB or S3. They are good but sometimes the performance is affected when you use RocksDB for checkpointing.
BH
Lead Software Engineer at a tech services company with 5,001-10,000 employees
Oct 19, 2020
The TimeWindow feature is a bit tricky. The timing of the content and the windowing is a bit changed in 1.11. They have introduced watermarks. A watermark is basically associating every data with a timestamp. The timestamp could be anything, and we can provide the timestamp. So, whenever I receive a tweet, I can actually assign a timestamp, like what time did I get that tweet. The watermark helps us to uniquely identify the data. Watermarks are tricky if you use multiple events in the pipeline. For example, you have three resources from different locations, and you want to combine all those inputs and also perform some kind of logic. When you have more than one input screen and you want to collect all the information together, you have to apply TimeWindow all. That means that all the events from the upstream or from the up sources should be in that TimeWindow, and they were coming back. Internally, it is a batch of events that may be getting collected every five minutes or whatever timing is given. Sometimes, the use case for TimeWindow is a bit tricky. It depends on the application as well as on how people have given this TimeWindow. This kind of documentation is not updated. Even the test case documentation is a bit wrong. It doesn't work. Flink has updated the version of Apache Flink, but they have not updated the testing documentation. Therefore, I have to manually understand it. We have also been exploring failure handling. I was looking into changelogs for which they have posted the future plans and what are they going to deliver. We have two concerns regarding this, which have been noted down. I hope in the future that they will provide this functionality. Integration of Apache Flink with other metric services or failure handling data tools needs some kind of update or its in-depth knowledge is required in the documentation. We have a use case where we want to actually analyze or get analytics about how much data we process and how many failures we have. For that, we need to use Tomcat, which is an analytics tool for implementing counters. We can manage reports in the analyzer. This kind of integration is pretty much straightforward. They say that people must be well familiar with all the things before using this type of integration. They have given this complete file, which you can update, but it took some time. There is a learning curve with it, which consumed a lot of time. It is evolving to a newer version, but the documentation is not demonstrating that update. The documentation is not well incorporated. Hopefully, these things will get resolved now that they are implementing it. Failure is another area where it is a bit rigid or not that flexible. We never use this for scaling because complexity is very high in case of a failure. Processing and providing the scaled data back to Apache Flink is a bit challenging. They have this concept of offsetting, which could be simplified.
JR
Sr Software Engineer at a tech vendor with 10,001+ employees
Oct 13, 2020
We have a machine learning team that works with Python, but Apache Flink does not have full support for the language.
Learn what your peers think about Apache Flink. Get advice and tips from experienced pros sharing their opinions. Updated: January 2026.
880,481 professionals have used our research since 2012.
RA
Sr. Software Engineer at a tech services company with 10,001+ employees
Oct 22, 2020
In terms of stability with Flink, it is something that you have to deal with every time. Stability is the number one problem that we have seen with Flink, and it really depends on the kind of problem that you're trying to solve.
VI
Principal Software Engineer at a tech services company with 1,001-5,000 employees
Oct 21, 2020
In terms of improvement, there should be better reporting. You can integrate with reporting solutions but Flink doesn't offer it themselves.
reviewer1450275 - PeerSpot reviewer
Software Development Engineer III at a tech services company with 5,001-10,000 employees
Nov 10, 2020
The machine learning library is not very flexible.
reviewer1494531 - PeerSpot reviewer
Head of Data Science at a energy/utilities company with 10,001+ employees
Feb 2, 2021
In a future release, they could improve on making the error descriptions more clear.
Armando Becerril - PeerSpot reviewer
Partner / Head of Data & Analytics at Intelligence Software Consulting
Mar 3, 2021
One way to improve Flink would be to enhance integration between different ecosystems. For example, there could be more integration with other big data vendors and platforms similar in scope to how Apache Flink works with Cloudera. Apache Flink is a part of the same ecosystem as Cloudera, and for batch processing it's actually very useful but for real-time processing there could be more development with regards to the big data capabilities amongst the various ecosystems out there.
Ertugrul Akbas - PeerSpot reviewer
Manager at ANET
Jan 30, 2023
There is a learning curve. It takes time to learn.
Ilya Afanasyev - PeerSpot reviewer
Senior Software Development Engineer at Yahoo!
Aug 3, 2022
The solution could be more user-friendly.