Спецпроект • 31 Марта 2021

Как запускают высоко нагруженные сервисы в больших компаниях: 6 примеров внедрения Tarantool

Когда менять инфраструктуру целиком слишком дорого, а до запуска нового продукта остаются считанные месяцы.

В крупных компаниях взаимодействие с клиентами все больше переходит в онлайн. Запросы сотен тысяч или даже миллионов клиентов перенаправляются на сервисы, архитектура которых на это не рассчитана. Возникают сложности.

Первая — данные по пользовательским запросам хранятся в разных местах. Или они расположены физически в разных ЦОД, или используются разные технологии для хранения и обработки. Эту разрозненность важно преодолевать — доставать данные из разных источников по одному запросу. Вторая — не каждая технология обладает подходящим ТСО (совокупной стоимостью владения). Большие компании ищут технологии, которые решают задачу, но не выливаются в космические затраты.

Рассказываем, как в Mail.ru Group решают эти сложности с помощью платформы in-memory-вычислений Tarantool.

Что такое Tarantool


Tarantool сочетает в себе функциональность сервера приложений и гибридного хранилища. Платформа способна обрабатывать до 1 млн запросов в секунду за счет работы в оперативной памяти — in-memory. Подход in-memory снижает ТСО, потому что процессор используется эффективнее и решение требует меньше серверов.

Tarantool легко устанавливается поверх существующего решения — когда извлекать данные для сервиса или приложения нужно из баз данных, которые не заточены под большое количество единичных запросов. На примере кейсов шести крупных компаний рассказываем, какие задачи решает Tarantool.

MRG работает с 4 крупнейшими банками и с 3 топовыми ретейлерами России.

Решения содержат десятки терабайт данных и сотни экземпляров Tarantool на кластер в инсталляциях для телекома и банков.

Активное комьюнити из тысяч специалистов более чем за 10 лет развития технологии.

Ускорить работу сервисов Газпромбанка


Когда появилось мобильное приложение и личные кабинеты, система стала работать медленнее. Причина — базы данных, на которых строятся автоматизированные банковские системы (АБС), не рассчитаны на большой объем единичных запросов от внешних и внутренних клиентов. Требовалось новое решение, которое ускорило бы работу сервисов.

Для чего компания использовала Tarantool

Tarantool Data Grid кэширует самые востребованные данные из АБС: информацию по картам, вкладам, счетам, кредитам клиентов. Эти данные Tarantool предоставляет сотрудникам, обслуживающим клиентов.

Платформа разделяет потоки и хранит данные в оперативной памяти. При этом все изменения данных доставляются пользователям в реальном времени.

Какие выгоды получила

Банк сделал доступ к данным клиентов моментальным. Раньше на обработку запроса требовалось до 5 секунд, теперь — 100 миллисекунд. Клиенты теперь меньше ждут ответа по телефону или в офисе.

Какие особенности Tarantool в этом помогли

Tarantool Data Grid собирает, объединяет и обрабатывает данные из разных систем в реальном времени. Решение легко интегрируется с действующими системами.

Создать точку для передачи данных: кейс «Магнита»


Торговая сеть запускала экспресс-доставку продуктов. Для этого нужно было передавать данные сервисам по доставке из каждого магазина — об ассортименте, наличии товаров и ценах. В информационной архитектуре ретейлера не было точки для передачи данных из «Магнита» в приложения экспресс-доставки.

Для чего компания использовала Tarantool

Чтобы пользователи могли заказывать через приложение товары, которые есть в ближайшем «Магните», требовалось объединить несколько разрозненных систем:

  • каталог товаров с миллионом позиций находится в центральной базе данных;
  • информация об ассортименте конкретного магазина, актуальных ценах и остатках на складах хранится в самих магазинах.

Компании нужна была система, с которой она смогла бы подключать разные сервисы доставки. Техническую часть интеграции решили сделать на Tarantool Data Grid.

Какие выгоды получила

Онлайн-витрину для Delivery Club создали за два месяца — на разработку проектов для крупных компаний обычно уходит около полугода. Затем решение масштабировали — с 20 подключенных торговых точек расширились до 200, потом до 400 за следующий месяц. Витрина для «Яндекс.Еды» и собственное приложение доставки появились через 1,5—2 месяца после подключения к Delivery Club.

Направление доставки товаров можно масштабировать и дальше — подключать новых партнеров и укреплять позиции на рынке экспресс-доставки продуктов и товаров первой необходимости.

Какие особенности Tarantool в этом помогли

Использовали Tarantool Data Grid — платформу «под ключ», в которой решены вопросы деплоя и эксплуатации. Благодаря этому витрину запустили всего за пару месяцев.

Создать быстрое хранилище для ордеров и сделок по инвестициям: кейс Альфа-Банка


В Альфа-Банке каждые сутки заключают по 300 тыс. сделок по инвестиции, до 5 тыс. ордеров исполняется каждую секунду. Клиентам нужно видеть свои позиции онлайн, а данные при этом поступают с различных торговых площадок.

Для чего компания использовала Tarantool

В направлениях инвестиционного бизнеса для получения данных использовали множество разных технологий, многие из которых дублировали друг друга. Из-за этого страдала производительность: по полчаса уходило на аналитические запросы, а система с трудом выдерживала нагрузку 5 тыс. сделок в день.

Нужно было собрать все данные в одном быстром хранилище. Решение должно было быть отказоустойчивым и проверенным в других крупных компаниях, горизонтально масштабируемым (чтобы легко добавлялись новые серверы и приложения) и экономически выгодным — с невысокой совокупной стоимостью владения.

Какие выгоды получила

Решение развернули на основе Tarantool Data Grid.

Система хранит все агрегированные данные. Она очищает их от избыточности и преобразовывает в эталонную модель. Система никогда не удаляет объект и не перезаписывает старые данные — это делает ее безопасной и отказоустойчивой.

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

Повысить отказоустойчивость и доступность сервисов «МегаФона»


Для оператора связи важна отказоустойчивость критичных сервисов. Из-за большого числа абонентов высокой нагрузке подвергается сеть, а также сервисы и приложения.

Для чего компания использовала Tarantool

Внешние аудиторы во время обновления архитектуры платежной системы предложили использовать in-memory-решения, чтобы повысить отказоустойчивость и доступность сервисов.

«МегаФон» на основе рекомендаций начала развивать новую цифровую экосистему. В компании решили создать средний слой, который поставляет данные для разных каналов:

Таким образом, во всех каналах обеспечивается максимальная скорость и единство данных, снижается нагрузка на базовые платформы и повышается доступность сервисов, а новые продукты легче выводить на рынок.

Для микросервисов среднего уровня «МегаФон» использовала Tarantool — решение класса in-memory, работает очень быстро и вписывается в установленные рамки ТСО.

Какие выгоды получила

Компания создает микросервисы на основе кэшей (оперативной памяти), поднимая данные из разных доменов. Оператор хранит данные в биллинговой системе, в то время как витрины Tarantool помогают быстро с ними взаимодействовать.

За два года команды «МегаФона» и Tarantool сделали совместно больше 25 сервисов.

Один из микросервисов — продуктовая витрина абонента. Ее данные используются в личном и мобильном кабинете. На основе продуктов пользователя сервис считает расходы и делает персонализированные коммерческие предложения. Продуктовая витрина использует данные с шести серверов в трех дата-центрах, обрабатывает 700 гигабайт в оперативной памяти и делает 3 тыс. записей в секунду.

Создать новую архитектуру и снизить нагрузку на серверы Wildberries


Wildberries — один из популярных российских интернет-магазинов. У компании более 38 млн клиентов, около 12 млн посетителей совершают более 1,5 млн заказов в сутки.

Для чего компания использовала Tarantool

Сервисы Wildberries медленно приближались к потолку производительности. С выходом на рынок Беларуси нагрузка на процессор не опускалась ниже 90%. В период акций «Черная пятница» запросы увеличивались в три раза.

Техническая команда понимала, что с ростом нагрузки затраты на серверы становятся неприемлемыми. Тогда решили перейти к новой архитектуре. При выборе решения команда опиралась на требования:

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

Какие выгоды получила

Техническая команда Wildberries разработала свой подход создания надежных распределенных систем. Tarantool для них — хранилище для работы с востребованными данными: пользовательскими профилями, баннерами, скидками.

На базе Tarantool работают 12 микросервисов компании: например, мастер-хранилище профилей пользователей — самый критичный сервис сайта, содержит данные 50 млн пользователей. Tarantool также используют для быстрых справочников в складской системе, чтобы оперативно перепроверять информацию.

Внедрить новую функцию перевода для Mastercard


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

Для чего компания использовала Tarantool

При проектировании решения Mastercard учли требования международных и российских норм:

  • стандарт безопасности данных индустрии платёжных карт PCI DSS;
  • стандарт Банка России по обеспечению информационной безопасности;
  • постановление Европейского союза о защите персональных данных GDPR.

Система состоит из трех компонентов: хаба, хранилища карт и портала регистрации пользователей. Хаб и хранилище реализованы на Tarantool — платформа работает как backend регистрационного портала.

Какие выгоды получила

Mastercard получила сервис, который моментально находит банковскую карту пользователя по номеру его телефона и после перевода сохраняет о нем всю информацию. Благодаря Tarantool сервис надежный и безопасный.