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

в 9:55, , рубрики: dell, e-commerce, Блог компании Dell, высокая производительность, магазины, нагрузка, Серверная оптимизация, торговля, метки: , , , ,

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

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

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

Итак, для начала необходимо определиться с тем, какой товар пополнит ассортимент магазина, затем у выбранного поставщика запросить данные о его закупочной цене и сроке доставки. Получив информацию, менеджер отдела закупок принимается изучать рынок своим наметанным глазом, просчитывает издержки и принимает решение, удовлетворяют расценки поставщика или нет. Впрочем, не стоит думать, что менеджеру приходится проделывать всю эту колоссальную работу вручную: чтобы облегчить его труд, в отделе разработки было создано приложение, которое проводит поиск аналогичных товаров в других интернет-магазинах и сопоставляет цены. Если полученные данные оказываются конкурентоспособными, то закупке товара дается зеленый свет. Далее отдел закупок согласовывает количество товара и приводит данные в формат ПО склада, присваивая штрих-код складской позиции по предоставленному поставщиком бар-коду.

После того как поставщик доставляет товар на склад, начинается второй этап. Теперь уже другому менеджеру необходимо проверить соответствие новой партии тем позициям, которые завел в системе его коллега из отдела закупок, наклеить штрих-код и определить место хранения товара. Кстати, примерно 15-20% всей партии методом случайной выборки проверяется на соответствие заявленным товарам. Попросту говоря, таким образом магазин пытается уберечь себя от возможного возврата товара из-за брака или недобросовестности поставщика. Именно на этом этапе новоиспеченная складская единица обмеряется (не забываем, что речь идет о магазине одежды), ей присваивается определенный размер в соответствии с отечественной размерной сеткой. Фотограф делает снимки на моделях, а старательный копирайтер пишет сопроводительный текст на сайт.

Не будем углубляться в механизмы, согласно которым клиент попадает на страницу с товаром. Понятно, что в той или иной степени он приходит в интернет-магазин подготовленным: возможно, он ищет конкретную вещь или просто заинтересовался рекламной ссылкой. Намного интереснее увидеть, как реагирует система на действия клиента, одним словом, что происходит, когда пользователь уже попал на сайт. Мы знаем, что один из важнейших факторов, который определяет, насколько задержится клиент на сайте – это скорость обработки его поискового опроса. Если по заданным фильтрам (платье голубого цвета, размер 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: что происходит по ту сторону монитора

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

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

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

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

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

Автор: DellTeam

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js