Сервера: распределяем нагрузку

Habr ·

Сервера: распределяем нагрузку

«Просто арендую сервер помощнее». Так я думал, когда пет-проект внезапно оброс людьми. Мой проект начинался с одной виртуальной машины. Пока пользователей было мало, всё работало. С ростом нагрузки обычные запросы начали ждать завершения тяжёлых вычислений. В логах появились тайм-ауты, очередь росла, а покупка сервера помощнее давала только временный эффект. Я изучил, как похожие проблемы решают крупные компании, и применил эти принципы на практике. В статье покажу, какие архитектурные решения я подсмотрел у больших сервисов и как адаптировал их для небольшого проекта. Разберём, почему мощного сервера недостаточно, как разделять короткие запросы и длительные вычисления, и зачем балансировать не абстрактные запросы, а конкретный ресурс, который становится узким местом. Читать далее

«Просто арендую сервер помощнее». Так я думал, когда пет-проект внезапно оброс людьми. Мой проект начинался с одной виртуальной машины. Пока пользователей было мало, всё работало. С ростом нагрузки обычные запросы начали ждать завершения тяжёлых вычислений. В логах появились тайм-ауты, очередь росла, а покупка сервера помощнее давала только временный эффект. Я изучил, как похожие проблемы решают крупные компании, и применил эти принципы на практике. В статье покажу, какие архитектурные решения я подсмотрел у больших сервисов и как адаптировал их для небольшого проекта. Разберём, почему мощного сервера недостаточно, как разделять короткие запросы и длительные вычисления, и зачем балансировать не абстрактные запросы, а конкретный ресурс, который становится узким местом. Читать далее

Источник: Habr