Миграция бэкенда на Tarantool
- Заказчик:
- ГК Мерлион (Ситилинк)
- Руководитель проекта со стороны заказчика
- Поставщик
- VK цифровые технологии
- Год завершения проекта
- 2021
- Сроки выполнения проекта
- Январь, 2020 - Июнь, 2021
- Масштаб проекта
- 5000 человеко-часов
- Цели
-
«Ситилинк» — один из крупнейших электронных дискаунтеров с большой географически распределенной сетью магазинов.
Объем хранимых данных ежегодно растет на 50–100%. Старая информационная система компании использовала кэш реляционной базы данных для ускорения доступа к информации о товарах и их наличии. Это решение исчерпало свои возможности и перестало эффективно справляться с растущей нагрузкой.
Для того чтобы ИТ-инфраструктура успевала за ростом бизнеса, потребовалось внедрить новое решение для хранения и обработки данных.
Уникальность проекта
Что такое «Ситилинк»:- оборот онлайн-продаж в 2020 году — 132,7 млрд рублей;
- около 800 магазинов-складов;
- около 130 000 товаров в наличии (зависит от региона);
- ежедневное обновление порядка 20 млн цен по всему ассортименту в 150 регионах.
- Использованное ПО
- Платформа in-memory-вычислений Tarantool
- Сложность реализации
-
Схема репликации данных master-master, которая была выбрана при миграции на Tarantool, справедливо считается технически сложной в реализации. Однако преимущества ее применения перевесили риски, поэтому постепенно были выработаны определенные правила эксплуатации Tarantool и требования к коду серверной части системы.
К примеру, в моменты развертывания обновления или аварии происходит переключение трафика с одного инстанса на другой. Чтобы минимизировать риски, запросы на запись и чтение отправляются только на один из инстансов. Поскольку некоторый риск все равно остается, финансовая информация в Tarantool не хранится.
- Описание проекта
-
Что сделали разработчики:
-
Создали свое решение, которое позволяет с помощью всего одного запроса развернуть новый экземпляр базы данных.
-
Настроили репликацию данных по схеме master-master. Это позволило обеспечить высокую доступность сервисов и внедрить т. н. сине-зеленое развертывание, при котором трафик незаметно для пользователей постепенно переносится со старой версии приложения или сервиса на новую.
-
Начали использовать в 2019 году Tarantool в качестве базы данных для всех новых проектов.
-
Запустили «распил» монолитного сервиса на микросервисы с переносом данных из реляционной базы данных в отдельные экземпляры Tarantool.
Результаты:
-
Полученное решение позволяет легко выдерживать нагрузку до 2 млн записей в минуту.
-
Каталог товаров находится в актуальном состоянии в любой момент времени.
-
Задержка обновления каталога составляет 3 секунды вместо 10–30 минут как ранее.
-
Time-to-market теперь занимает 1 минуту вместо 2 недель.
-
Доступность сервиса выросла более чем в 10 раз.
-
Задержка предоставления данных составляет менее 30 мс вместо 300–500 мс.
-
Вместо одной монолитной базы данных развернуто 70 экземпляров баз данных под самые высоконагруженные сервисы магазина.
-
- География проекта
- Вся Россия