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

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

Система, которая выполняет функцию хранилища данных и биллинговой системы для всех расходов и действий клиентов.
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

Мобильное приложение для криптобиржи
узнать больше

Мобильное приложение для интернет-магазина

Мобильное приложение для продажи детской одежды и аксессуаров
узнать больше

Приложение для управления данными и мультимедиа

Веб-приложение для автоматизации производства медиа-продукции, в частности – каталогов компаний
узнать больше

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

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