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

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

О проекте

У телекоммуникационной компании была устаревшая биллинговая система, которая больше не справлялась с некоторыми важными задачами и не отвечала современным требованиям. Поэтому было принято решение спроектировать новую систему с нуля. Для реализации этой задачи, заказчик обратился к команде IntexSoft.

 

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

Технологии

Состав команды

  • Тимлид

  • 4 разработчика

  • 4 специалиста по тестированию

600K

записей обрабатывается в секунду

20

микросервисов

4

года работы над проектом

Решение

Данный проект представляет собой Big Data. Ключевая особенность системы хранение и обработка огромного массива данных. Масштаб системы можно сравнить со Spotify, Яндекс.Музыка и т.д. В сутки система обрабатывает миллиарды файлов, а в секунду поступает примерно 600 тыс. записей.

 

В условиях такого объема, для хранения данных была использована распределен-

ная база данных Cassandra. Для обеспечения целостности данных и распределения нагрузки используются несколько ЦОДов (Центров Обработки Данных), географически расположенных в разных регионах.

 

Что касается биллинга, сама система не выставляет счета, но обрабатывает данные, которые потом используются для выставления счета. Для обработки и вычисления распределенных данных используется технология Apache Spark.

 

Система построена на основе микросервисной и распределенной архитектуры.

Помимо того, что все данные хранятся распределенно, обработка и сохранение данных происходит при помощи микросервисов. На данный момент в системе насчитывается порядка 20 микросервисов.

 

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

 

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

Методология и прозрачность

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

 

В течение проекта команда разрослась, и для удобства был создан специальный чат в Slack, где утром каждый отписывается по проделанным и планируемым задачам. Также, раз в неделю в Zoom проводится общая онлайн-встреча всей команды, задействованной на проекте: на этих встречах обсуждается не только текущее положение проекта, но и новости в сфере IT.

 

Когда начался этап активного внедрения продукта, команда разработки перешла на

методологию Kanban для оптимизации рабочих процессов.

Основная функциональность

  • Управление информацией

    сбор, обработка и агрегирование данных, хранение большого объема данных, выгрузка данных в виде отчетов

  • Расчет данных

    учет платежей и расходов, перерасчет расходов для выставления нового счета с учетом обновленных данных

Похожие проекты

Более 150 компаний уже воспользовались нашими услугами по разработке программного обеспечения. Не верьте нам на слово – смотрите сами!

Мобильное приложение для образовательных услуг
Платформа для сектора образования, которая облегчает общение между учителями и родителями учеников.
узнать больше
Веб приложение для обучения танцам
Приложение для индивидуальных и групповых занятий танцами онлайн
узнать больше
Высоконагруженная система обработки и хранения данных
Система, которая выполняет функцию хранилища данных и биллинговой системы для всех расходов и действий клиентов.
узнать больше
Веб приложение для операций с недвижимостью
Веб-приложение для покупки, аренды и продажи недвижимости онлайн в Испании, Панаме и Коста-Рике.
узнать больше
Веб-приложение для Parfuemerie.de
eCommerce приложение для продажи парфюмерии и косметики по всей Германии
узнать больше
Корпоративное приложение для розничной торговли
Кроссплатформенное мобильное приложение и админ-панель для управления крупной сетью ритейлеров.
узнать больше
Мобильное приложение для Bitcoin.de
Мобильное приложение для криптобиржи
узнать больше
Мобильное приложение для интернет-магазина
Мобильное приложение для продажи детской одежды и аксессуаров
узнать больше
Приложение для управления данными и мультимедиа
Веб-приложение для автоматизации производства медиа-продукции, в частности – каталогов компаний
узнать больше

Давайте обсудим ваш проект

Напишите нам и мы обязательно найдем решение для вашего бизнеса