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

Выбор программного решения для балансировки нагрузки (apache mod vs other)

У меня простая конфигурация веб-сервера с веб-сервером Apache и Tomcat. Например, у нас есть 2 сервера. Планирую масштабировать. Конечно, очень скоро нам понадобится решение для балансировки нагрузки. Должен ли я выходить на серверы Tomcat с Apache для балансировки нагрузки или использовать что-то еще?

Есть ли причина, по которой я должен использовать какое-то внешнее программное обеспечение, такое как HaProxy, для балансировки нагрузки вместо, скажем, mod_proxy_http для сервера apache? Когда вы ищете балансировку нагрузки в Linux env. вы найдете много всего для Haproxy, но не для сервера Apache, почему !?

Спасибо!

HAProxy использует модель на основе событий одного процесса, тогда как с чем-то вроде Apache я считаю, что у вас есть потоки (mpm_worked) или процессы (prefork). Предполагая, что я прав в том, что mod_proxy по-прежнему будет основываться на потоках или процессах для каждого соединения (я могу совершенно ошибаться в этом), это потребует гораздо больше системных ресурсов, когда вы достигнете более высоких уровней нагрузки.

Кроме того, по моему личному опыту, что-то, что создано для чего-то особенного, часто лучше справляется с этой задачей, чем с ножом для швейцарской армии. Так, например, с HAProxy у вас есть различные варианты того, как поддерживаются соединения между клиентами и балансировщиком нагрузки, а также между балансировщиком нагрузки и серверами. Я не уверен, что что-то вроде mod_proxy будет предлагать такую ​​гибкость.