Мне нужно сделать apache + tomcat надежным, высокодоступным cluser. Я видел много документов, как сделать эту архетику:
__________________________ _____________
| Load balancer | 1 ________________ * | Tomcat |
|__________________________| |_____________|
Но мне нужно сделать несколько балансировщиков нагрузки. И как организовать эту архетику - для меня вопрос. Есть ли статьи о том, как сделать хост балансировщика нагрузки надежным?
__________________________
| Load balancer |
|__________________________|
_____________|____________ _____________
| Load balancer |*________________ * | Tomcat |
|__________________________| |_____________|
_____________|____________
| Load balancer |
|__________________________|
Ваше описание не так однозначно. Вы не указали явно, хотите ли вы, чтобы все балансировщики нагрузки были активными, или просто сделать один активным, а другие резервными только для отработки отказа.
Если вам нужен только один активный балансировщик нагрузки, а остальные будут резервными, вам нужно просто установить решение высокой доступности, такое как keepalived или heartbeat, чтобы назначить VIP одному из балансировщиков нагрузки. Затем вам нужно направить весь свой трафик на этот VIP. Этот VIP будет назначен другой машине в случае выхода из строя активной.
Если вы хотите иметь несколько активных балансировщиков нагрузки, вам нужно сделать это на другом уровне, например, направить трафик с помощью брандмауэра в несколько пунктов назначения (балансировщики нагрузки). Я сделал это, используя DNAT
правило, которое будет распределять трафик на основе исходных IP-адресов клиентов. Одним из явных ограничений в этом отношении является то, что вам нужно знать или хотя бы иметь некоторые ожидания исходных IP-адресов ваших клиентов.