Pull to refresh

Интернет-магазин Wildberries: что происходит по ту сторону монитора

Reading time 6 min
Views 122K
Сегодня мы решили познакомить вас с закулисьем совсем другого направления человеческой деятельности и рассмотреть подноготную настолько непростой системы, серверы которой проходят испытания тысячами транзакций в секунду а цена программного или аппаратного сбоя может быть слишком высока. Итак, сегодня мы в гостях у одного из крупнейших российских интернет-магазинов одежды Wildberries

Как же работает интернет-магазин? Чтобы было нагляднее, предлагаем разбить процесс на основные этапы, рассмотреть их и составить общую картину происходящего.


На фото: склад интернет-магазина Wildberries

Итак, для начала необходимо определиться с тем, какой товар пополнит ассортимент магазина, затем запросить у поставщика необходимую информацию на выбранный товар (состав, комплектация, цена и т.д.). Далее проводится первичный мониторинг цен, и вся необходимая информация о товаре заливается в систему. Согласовав заказ с поставщиком и получив от него все необходимые документы, менеджер дает добро на отгрузку товара.

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

Не будем углубляться в механизмы, согласно которым клиент попадает на страницу с товаром. Понятно, что в той или иной степени он приходит в интернет-магазин подготовленным: возможно, он ищет конкретную вещь или просто заинтересовался рекламной ссылкой. Намного интереснее увидеть, как реагирует система на действия клиента, одним словом, что происходит, когда пользователь уже попал на сайт. Мы знаем, что один из важнейших факторов, который определяет, насколько задержится клиент на сайте – это скорость обработки его поискового опроса. Если по заданным фильтрам (платье голубого цвета, размер S, длина до колен) результат выдается 10-15 секунд, заскучавший клиент закроет вкладку и клиентом автоматически быть перестанет. Кстати, в среднем по России время отклика сайта на действия пользователя составляет 4 секунды и выше, а вот Wildberries это время удалось сократить до двух секунд. Чтобы этого достичь, в системе используется проксирование с помощью nginx: за одним внешним IP-адресом находится несколько nginx-серверов на платформе VMWare, которая установлена на сервера Dell PowerEdge R620. За ними, в свою очередь, расположены уже непосредственно веб-сервера. Кроме того, наиболее часто запрашиваемые данные хранятся в кэш-памяти серверов и выдаются практически мгновенно. Отказоустойчивость веб-серверов обеспечивается за счет кластеризации: как минимум два сервера полностью дублируют друг друга и работают в режиме master. Они подключены к общему хранилищу Dell EqualLogic PS, работающему в гибридном режиме с дисками SSD и SAS. Такой подход позволил достигнуть высоких результатов отклика, несмотря на колоссальную нагрузку на сервера: количество обработанных запросов, прошедших «внешний периметр» – outcash, – в течение одних суток варьируется в пределах от 750 тысяч до 1,5 миллиона. Да, вот такая вот непростая аппаратная подложка под простым и понятным интерфейсом, который помогает за считанные секунды найти тот или иной товар.

Следующий этап начинается тогда, когда клиент определяется с выбором и подтверждает свой заказ. В определенных случаях подтверждение происходит через SMS, но чаще всего клиенту перезванивает оператор. Кстати, важный момент: система предусматривает автоматическое резервирование товара еще в тот момент, когда клиент сформировал заказ, но еще не получил подтверждение. А все потому, что при больших объемах продаж товар могут увести из-под носа еще в тот момент, пока клиенту дозванивается оператор.

Для сотрудников магазина этот этап проходит не так быстро и легко, ведь работа по обработке и формированию заказа не такая уж простая, как может показаться со стороны. Вначале заявки клиентов уходят на склад, на их основе формируется так называемый сборочный лист, по которому складской работник собирает необходимые товары. Склад, на котором хранятся товары Wildberries, разбит на зоны: в одном месте, например, находится обувь, в другом – вещи, висящие на вешалках, в третьем – белье и т.п. Сборочный лист не привязывается к конкретному заказу, а формируется таким образом, чтобы минимизировать передвижения сотрудника по немаленькому помещению склада и сэкономить его время. Этот алгоритм формируется системой автоматически. Кстати, в нем учитывается не только оптимальный маршрут, но и количество вещей, который может за один раз унести складской работник (сами понимаете, 20 пар носков и 20 пар обуви – не одно и то же).

Собранные вещи свозятся к месту формирования заказов, на котором находится несколько десятков стеллажей с пронумерованными ячейками (их еще в шутку называют волнорезами). Сотрудник сканирует штрих-коды товаров, а система выдает ему номер стеллажа и ячейки, в котором собирается тот или иной заказ. Их увозят уже после того, как весь стеллаж целиком заполнен: укомплектованные товары сортируют по машинам, которые развозят их по разным городам. Затем заказ забирает курьер и отвозит покупателю в заранее оговоренное время.

Таким образом, единая IT-система интернет-магазина объединяет в себе frontend, реализованный на Linux, и backend – на Windows. Для поддержки и развития системы здесь трудится большой штат разработчиков и системных администраторов, да и компьютерный парк проекта весьма разнообразен. На местах, не требующих интенсивной нагрузки (например, для выполнения некоторых логистических задач или в колл-центре), установлены терминалы Wyse. Там, где принимаются товары и собираются заказы, – а это действия, требующие быстродействия и отзывчивости интерфейса, – установлены персональные компьютеры. У сотрудников, обрабатывающих фотографии товаров для сайта, стоят ПК с дискретной графикой и большим объемом оперативной памяти.

Вся информационная база проекта – склад, call-центр, магазин и ERP-система (а это порядка 20 ТБ постоянно изменяющихся данных), управляется с помощью блэйд-серверов М620. Они установлены в шасси М1000е, которых, на сегодняшний день, задействовано уже четыре.



Применение виртуализации позволяет избежать риска потери данных при сбое или выходе из строя одного или даже нескольких серверов-лезвий: текущая нагрузка равномерно распределяется между остальными серверами до замены сбойного элемента. Все критические узлы задублированы, а при проектировании изначально закладывается определенный запас по мощности. Кстати, Wildberries арендует стойки сразу в двух ЦОД, это позволяет сайту оставаться доступным даже в случае аварии в одном из ЦОДов, аварии на электрической подстанции или другой техногенной катастрофе. Прямое сетевое соединение с самыми крупными провайдерами интернета и точками обмена трафиком (MSK-IX и прочие) гарантирует, что большая часть запросов пользователей пройдет минимальное количество узлов сети прежде, чем попадет на серверы компании.

Выбор в пользу Dell был сделан не случайно. Оборудование многих вендоров тестировалось сотрудниками Wildberries с помощью синтетических тестов и на некритичных сервисах, а решения от финалистов — в «боевом» режиме прямо на площадке магазина, и по совокупности технических характеристик, а также по уровню технической поддержки и сопровождения выбор был сделан в нашу сторону. Стоит добавить, что показатели работы оборудования мониторятся в режиме реального времени с помощью расширенного функционала Zabbix. Все параметры критически важных узлов выводятся на мониторы (а их, к слову, шесть!) дежурного специалиста. Текущие параметры работы фиксируются абсолютно со всех устройств предприятия: серверы, дисковые стойки, источники бесперебойного питания, сетевые устройства и каналы связи, причем не только в центральном офисе, но и регионах. Помимо этого, все специалисты компании имеют свои фиксированные зоны ответственности и, если какие-то показатели отходят от нормы, им автоматически рассылаются уведомления по электронной почте, SMS и Skype.



Однако сотрудники Wildberries тайком признались, что основным и самым ценным ресурсом являются не сервера, а сплоченная команда профессионалов, болеющая за свое дело. Приятно это слышать!

P. S. Если вы хотите подробнее узнать о возможностях оборудования Dell для организаций, работающих в области e-commerce, смело пишите Марату Ракаеву. Наши специалисты помогут решить практически любую задачу.
Tags:
Hubs:
0
Comments 5
Comments Comments 5

Articles

Information

Website
www.delltechnologies.com
Registered
Founded
1979
Employees
over 10,000 employees
Location
США