Назад | Перейти на главную страницу

Есть ли более чистый способ остановить или отправить сигнал на фронтальный Apache2, когда backend tomcat не работает / не работает

                                      /Apache2-->Tomcat 7
                                     /        ---node1--
                                    /
                                   http
                                  /
https/http  --> ApacheLoadBalancer [mod_proxy_http]
                                  \
                                   \    
                                    http
                                     \
                                      \
                                       \Apahe2-->Tomcat 7
                                           ---node2---

                                         .......mode nodes ...  

В настоящее время я использую балансировщик нагрузки Apache mod_proxy_http чтобы сбалансировать нагрузку между двумя узлами, где каждый из узлов находится перед tomcat7 с apache2, в основном я балансирую нагрузку на два узла Apache. На любом из этих узлов, если tomcat останавливается / выходит из строя по какой-либо причине, я хотел бы остановить Apache на этом узле, чтобы балансировщик нагрузки определил, что узел недоступен, чтобы распределить нагрузку. В настоящее время, даже когда tomcat не работает на любом узле, поскольку Apache включен (Apache перед tomcat в каждом узле), балансировщик нагрузки думает, что этот узел все еще доступен, и отправляет запросы .. и в конечном итоге терпит неудачу. есть ли способ остановить Apache на конкретном узле в случае сбоя backend tomcat. Один из способов, которым я думал это сделать, - запустить задание cron (продолжайте проверять) или сценарий Linux, чтобы, когда tomcat отключился, я мог остановить Apache, пытаясь выяснить, есть ли более аккуратный способ сделать это? Любые идеи . Спасибо .

Обратите внимание, что мы используем Apache на каждом узле, не подвергая Tomcat напрямую балансировщику нагрузки по многим причинам, одна из которых заключается в том, что мы снова используем мод-прокси внутри Apache для перехода к различным пулам tomcat.

Если я сузлю свой вопрос, если у вас нет лучшего предложения. В: Есть ли более чистый способ остановить или отправить сигнал на фронтальный Apache2, когда backend tomcat не работает / терпит неудачу.

Примечание: прямая связь между балансировщиком и Tomcat должна решить эту проблему, я знаю, но обстоятельства разные.

Спасибо!

То, как вы должны справиться с этим, - это провести одну или несколько проверок работоспособности на балансировщике нагрузки, которые проверяют фактическое приложение tomcat (может быть страница ping jsp, самопроверка приложения и т. Д.).

Когда серверная часть Tomcat или приложение выходит из строя, страница проверки работоспособности также не работает. Балансировщик нагрузки обнаружит это и перестанет отправлять трафик на серверную часть, пока он не восстановится.