РБК Компании

Высоконагруженная система для финансовых структур

Как мы за 7 месяцев вшестером создали высоконагруженную систему оборотом 2 млрд сообщений в сутки
Высоконагруженная система для финансовых структур
Задача

Создание высоконагруженной системы для финансовых структур по приему, обработке и аналитике больших массивов данных, а именно фискальных документов, поступающих со всей территории РФ. Помимо основных стандартных характеристик системе требовались: доступность 24/7, горизонтальная масштабируемость и аналитика в режиме реального времени.

Причина

Заказчику требовалось обновить уже существующую систему.

В наше время повсеместной цифровизации многие компании сталкиваются с большими потоками данных. Эти системы должны выдерживать большие нагрузки. Возникает вопрос: как системам оставаться работоспособными и укладываться в требуемые SLA?

Рассмотрим пример из нашей практики — создание высоконагруженной системы по приему и обработке 2 млрд сообщений в сутки.

О подходах в работе и технологиях

Помимо основных стандартных характеристик к системе, командой были реализованы функциональные требования: доступность 24/7, горизонтальная масштабируемость и аналитика в режиме реального времени.

Для реализации этого проекта мы использовали распространенную в мировой практике технологию Hadoop, базу данных HBase, ClickHouse, а также брокер сообщений Kafka. Выбор данных технологий позволил нам реализовать на приеме несколько этапов проверок с последующим отсеиванием тех сообщений, которые не соответствовали критериям заказчика с SLA менее 100 мс.

Один из ключевых параметров системы — способность обрабатывать большой объем данных. Поэтому во время разработки, помимо обычного тестирования, командой проводились сессии нагрузочного тестирования. Результаты показали, что максимальная нагрузка составляет около 23 000 сообщений в секунду. А это на 20% выше требований заказчика. За более чем два года промышленной эксплуатации доступность нашей системы значительно превысила международные стандарты для подобного рода систем. И это несмотря на 80 релизов во время ее эксплуатации.

Результативное построение команд

Нам удалось значительно ускорить процесс разработки: подобные системы обычно разрабатываются около года командами не менее 10-12 человек. Мы сократили этот срок до 7 месяцев и реализовали весь проект командой, состоящей всего из 6 человек. Подобного результата удалось достичь благодаря:

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

Особенности. Вызовы. Решения.

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

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

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

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

Результат

В настоящий момент система уже больше 2 лет находится в промышленной эксплуатации. С момента релиза количество данных выросло более чем в 5 раз и достигает объема около 3000 Тб.

Интересное:

Новости отрасли:

Все новости:

Достижения

Digital Awards РБК Петербург15 лучших цифровых решений: Платформа поиска контрагентов , разработанная совместно с ГазпромНефть

Профиль

Дата регистрации28.12.2009
Уставной капитал15 000,00 ₽
Юридический адрес Г.Санкт-Петербург МУНИЦИПАЛЬНЫЙ ОКРУГ ПОСАДСКИЙ РАЙОН УЛ БОЛЬШАЯ МОНЕТНАЯ 16 КОРПУС 1, ЛИТЕРА В ПОМЕЩ. 5-Н, КОМ. 122,
ОГРН 1099847041690
ИНН / КПП 7813461089 781301001
Среднесписочная численность633 сотрудника

Контакты

Адрес Россия, г. Санкт-Петербург, ул. Рентгена, д. 5А
Телефон +78123365533

Социальные сети