Logstash with an input A sending to outputs B and C. If B or C fails everything becomes blocked. If the loss of data is acceptable is the below setup possible. So if a failure occurs in the first pipeline the system switches to using the second and if that fails then it tries the third.
Three pipelines
If{1. A - > B + C
}else{
2. A -> B
}else
3. A -> C
Other advice or solutions welcome on what to do in the first case if one of the outputs is blocked