Биллинг оператора связи

Веб системы
Другое

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

В биллинге были узкие места. Сбор данных между дата центрами занимал значительную долю трафика. Это ограничивало объём принимаемых новых событий. При закрытии месяца биллинг занимал рабочий день и требовал привлечение к процессу инженеров.

Биллинг

«Billing» переводится как «выписывание счета».

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

Задача

Создать новую Биллинговую систему уровня Big Data/Fast Data, в виде “коробочного” решения для поставки разным компаниям и операторам

Решение

Новая система работает надёжно и легко справляется с нагрузками. Для ускорения сохранения данных использовали NoSQL-решение.
Это разгрузило сетевой трафик системы, отвечающей за приём событий. В результате увеличили порог нагрузки событиями с 0.5 миллиарда до 2 миллиардов в день.

Внедрили в биллинг MapReduce-алгоритмы, сократили время закрытия месяца с ~1 дня до ~10 минут. Автоматизировали настройку параметров. Теперь система не требует участия инженеров для выполнения плановых операций.

Реализовали механизм быстрого развёртывания на окружении заказчика. Новая система уровня Big Data/Fast Data отвечает предъявленными требованиям по отказоустойчивости и масштабированию.

Технологии

  • Spring-boot

    Spring boot

  • Kafka

    Kafka

  • Spark 2.x

    Spark 2.x

  • Cassandra 3.x

    Cassandra 3.x

  • Zookeeper 3.x

    Zookeeper 3.x

  • Kubernetes

    Kubernetes

  • TeamCity

    TeamCity

  • Akka

    Akka

Это был непростой проект с нестандартными технологиями, в котором всё заточено под большие объёмы и высокую скорость обработки данных.

При каждом движении приходилось учитывать специфику NoSQL БД. Мы оперативно освоились и приложили руку к решению, которым ежедневно пользуются миллионы людей.

Дмитрий Нефедов

Java-разработчик

Nefedorov_Dmitrii