Привет
Рассмотрим несколько ресурсоемкое PHP-приложение, которое интенсивно работает со сложными транзакциями БД и не имеет другого выбора, кроме как иметь достаточно высокие алгоритмы потребления памяти. Например, до 4 МБ памяти на запрос. (В среднем 1 МБ для этих определенных запросов, менее 200 КБ переменных данных для обычных запросов)
Очевидно, что мы будем использовать что-то вроде Amazon S3 для размещения наших статических данных, но очевидно, что большая часть нагрузки приходится на динамические части.
Приложение будет работать на нескольких серверах, но как это работает? Делаем ли мы его как обычное приложение, работающее на одном сервере, а дополнительные серверы просто заставят его работать как один большой сервер с огромными объемами памяти и вычислительной мощностью?
Наша проблема в том, что, хотя приложение написано очень модульно, этот процесс заставляет нас иметь все в одной среде. Мы можем разместить базу данных на машине, которая оптимизирована для такого обслуживания, но практически нет возможности разместить разные модули кода самого приложения на разных серверах.
Итак, каковы общие решения для этого?