Есть задача — построить отказоустойчивый web-кластер высокой доступности.

  • frontend — nginx
  • loadbalancer — haproxy
  • backend — apache

Дано: 2 сервера nginx, 2 сервера haproxy, 4 сервера apache

Но возникает академический интерес в расположении данных элементов в цепочку…

nginx — haproxy — apache ?
round-robin на входе, кеш до haproxy, haproxy распределяет нагрузку по апачам
Смущает round-robin на входе, в остальном вроде идет равномерное распределение нагрузки по апачам

haproxy — nginx — apache ?
Плохие стороны round-robin в рамках haproxy можно заменить keepalived (?)
Балансировка между апачами выглядит не так хорошо как с haproxy

Собственно приглашаю в комменты для обсуждения.