Разработка highload-проектов
— Затачиваем сайты под миллионы посещений в месяц
Кроме обычного потока пользователей у каждого интернет-магазина или web-сервиса бывают особо напряженные дни. Классический пример для e-commerce – черная пятница. Мы делаем проекты, которые не только успешно справляются с ежедневными нагрузками, но и легко масштабируются под пиковые нагрузки.
Под highload понимается устойчивость интернет-проекта к высоким нагрузкам. Это не какой-то универсальный кусок кода, который достаточно добавить на сайт, чтобы он начал «летать». Это настройка архитектуры сайта: работа с базами данных, сервером, использование современных технологий и языков программирования.
Что такое highload?
Для highload-проектов предлагаем микросервисную архитектуру. При таком подходе проект состоит из множества независимых сервисов, которые общаются между собой посредством api. Это несколько дороже в поддержке, чем единый «монолитный» web-сервис, но для больших проектов дает ряд бонусов:
Кроме того, система, которая разделена на независимые друг от друга микросервисы, по умолчанию будет более устойчивой. Так как в этом случае, при возникновении сбоя в каком-либо сервисе, сайт в целом будет продолжать нормальную работу.
Например, оптимизировать каталог на сайте так, чтобы пользователи это не заметили.
01
Возможность обновлять и заменять отдельные сервисы, не перерабатывая остальные части проекта
02
Например, добавить пару дополнительных серверов в черную пятницу :)
Возможность запустить одновременно несколько одинаковых сервисов, чтобы справиться с пиковыми нагрузками
03
Возможность ограничить ресурсы для второстепенных микросервисов, чтобы они не тормозили работу всего проекта
Обычно это список товаров, фильтрация и поиск, корзина, история заказов, карточка товара. Мы рекомендуем начать внедрение микросервисной архитектуры с наиболее критичных по скорости участков – список товаров: его фильтрация и сортировки, а также поиск по сайту.
Какие микросервисы можно выделить в интернет-магазине?
Для этого идеально подходит Elasticsearch
Схематично это работает так:
1. Товарные предложения хранятся в базе данных сайта.
2. Они же хранятся в Elasticsearch
3. Когда нам надо найти товарные предложения с определёнными свойствами, мы передаём их в Elasticsearch и молниеносно получаем оттуда список ID подходящих товаров. В базу данных мы отдаём уже список этих ID, которые сразу же выводятся пользователю.
Каждая секунда загрузки снижает конверсию сайта на 7%
— Для больших и серьезных проектов
Когда пора делать Highload-оптимизацию сайта
Если ваш сайт периодически «падает» под натиском посетителей — пора перестать его реанимировать и задуматься над новой версией проекта. Такой, которая сразу сможет держать такие нагрузки.
Если вы планируете делать крупный проект, способный выдержать множество посетителей, мы разработаем сайт, с архитектурой, заранее заточенной под большие нагрузки. Это решение подойдет для интернет-магазинов, которые хотят стать лидерами рынка — иначе они проработают до первого пика популярности :)
Хотите быстрый, надёжный, Highload-оптимизированный сайт? Это к нам. Оставьте заявку, и с вами свяжется наш эксперт, чтобы обсудить детали.