Backpressure control with multiple sinks

Viewed 52

In our application we would like to use Apache Flink to process user events, enrich them with different sink types (each user can have several sink types) and then sink these events to corresponding different types of sinks.

Say we may have 2 types of sinks(for example file and http) and each user wants to use one or both of these types, with his/her own http endpoint/file name for corresponding sink.

Each event after enrichment knows if it should be sent to single or both sink types and exact endpoint/ filename.

The problem is that some endpoints may become slower and as the result the entire stream, with all events for all users and sink types will be slowed down by backpressure.

So, the question. Is there a way to, while still keeping reasonable backpressure, process events for different sinks and endpoints independently, so that slow endpoint of one user don't affect the entire stream and other users.

0 Answers
Related