У нас есть прокси-сервер apache2 в передней части и запущено несколько серверов приложений в бэкэнде, один из серверов приложений с ошибками зависает и перезагружается, что занимает 2-4 минуты, в это время все другие серверы приложений также зависают, когда они проходят тот же прокси-сервер.
Вот конфигурация прокси-сервера Apache:
ProxyPass /app1 http://backend1:8080/
ProxyPassReverse /app1 http://backend1:8080/
ProxyPass /app2 http://backend2:8080/
ProxyPassReverse /app2 http://backend2:8080/
ProxyPass /app3 http://buggy-backend3:8080/
ProxyPassReverse /app3 http://buggy-backend3:8080/
Есть ли какая-либо директива apache, которая проверяет, не отвечает ли серверная часть, должна игнорировать ее и продолжать обслуживать других.
Буду очень признателен за любую помощь.
WA-Mian
Я думаю, вы хотите использовать что-то вроде haproxy, которое предназначено именно для этого. apache mod_proxy_balancer также может делать то, что вам нужно.
РЕДАКТИРОВАТЬ: Я подозреваю, что причина зависания apache заключается в том, что для тайм-аута установлено относительно большое значение, и apache будет запускать дочерние процессы, которые ждут зависшего сервера приложений.
ProxyTimeout даст вам способ заставить apache быстрее отключать серверную часть.
Вы также можете посмотреть на увеличение количества дочерних элементов, которым разрешено создавать apache, и на увеличение этого числа.