1. Задача web-сервера -- быстро раздавать файлики, которые он получил либо с диска, либо откуда-то еще.
Задача AS -- исполнять код. Который, во многих случаях, может быть написан либо далеко не хакерами, либо хакерами (в плохом смысле этого слова).
В случае с виртуальным хостингом это очень существенно.
А особенно интересное начинается в тех случаях, когда не просто один IP-адрес, а один домен обслуживается несколькими командами разработчиков. В том числе -- сторонних. Вполне логично изолировать их друг от друга.
2. Собственно раздача файликов, если пользоваться nginx, упирается только в диски, память для кэша, и сеть. Поэтому если у нас всего лишь 1 гигабитный линк, то нам достаточно максимум двух web-серверов (frontend), в HA-кластере.
А вот уже то, что за ними может иметь любую нетривиальную структуру.
Использование web-сервера, выполняющего одновременно функции application server потребует установки отдельного балансировщика. И, если мы делаем так, то... в итоге мы получаем тоже самое, разве что статика отдается не frontend'ом а backend'ами, а в остальном backend'ы и становятся теми самыми application server'ами, только взаимодействую с frontend'ом по HTTP а не через FastCGI.
Итог -- без FastCGI обойтись можно, а вот без applicatino server'а на больших инсталляциях -- не очень.
no subject
Задача AS -- исполнять код. Который, во многих случаях, может быть написан либо далеко не хакерами, либо хакерами (в плохом смысле этого слова).
В случае с виртуальным хостингом это очень существенно.
А особенно интересное начинается в тех случаях, когда не просто один IP-адрес, а один домен обслуживается несколькими командами разработчиков. В том числе -- сторонних. Вполне логично изолировать их друг от друга.
2. Собственно раздача файликов, если пользоваться nginx, упирается только в диски, память для кэша, и сеть. Поэтому если у нас всего лишь 1 гигабитный линк, то нам достаточно максимум двух web-серверов (frontend), в HA-кластере.
А вот уже то, что за ними может иметь любую нетривиальную структуру.
Использование web-сервера, выполняющего одновременно функции application server потребует установки отдельного балансировщика. И, если мы делаем так, то... в итоге мы получаем тоже самое, разве что статика отдается не frontend'ом а backend'ами, а в остальном backend'ы и становятся теми самыми application server'ами, только взаимодействую с frontend'ом по HTTP а не через FastCGI.
Итог -- без FastCGI обойтись можно, а вот без applicatino server'а на больших инсталляциях -- не очень.