Une réponse 5xx reste une réponse, elle est donc transmise par défaut au client.
Je n'ai pas vu de produit qui atteigne le niveau que vous mentionnez en sortant de la boîte. S'il n'en existe pas, vous avez besoin d'un équilibreur de charge qui vous permette d'écrire une règle de réponse personnalisée, et que cette règle ait accès à la modification de l'état du mauvais nœud dans le pool et renvoie la requête dans votre pool. F5 BigIP's , Riverbed StingRay (Zues) offrent certainement l'élément de script et la gestion des nœuds ( f5 par exemple, en bas de l'échelle ). Vernis y Calamar Bien qu'ils ne soient pas de purs équilibreurs de charge, ils offrent également la possibilité de modifier les réponses après la réponse du backend. Je ne suis pas sûr de leur accès à la gestion des nœuds/pools. Notez que vous devrez également gérer les délais d'attente des requêtes de la même manière que les réponses 5xx.
La page que vous utilisez pour surveiller l'état d'un nœud doit également être quelque chose qui teste en profondeur l'état des applications et qui peut être consulté assez fréquemment.
La solution la plus proche de HAProxy est la suivante observe <mode>
ce qui lui permet de réagir aux erreurs qui se produisent dans le trafic régulier.
Je ne peux pas renvoyer l'erreur 5xx à partir de mon application.
A un moment donné, ça va arriver, préparez-vous.