Предпосылки проекта:
Для рынка телеком-компаний. Специализированный продукт – UDR (User Data Repository). Проект по разработке PoC для UDR.
Цель проекта:
Разработка решения класса UDR
Задачи проекта:
- проверить возможность реализуемости базовых сервисов с заданными характеристиками по производительности
Базовые сервисы:
- Регистрация (обновление местоположения) в сети 2G/3G/4G
- CS вызов исходящий и входящий, 2 разных сценария
- SMS исходящий и входящий, 2 разных сценария
- Передача данных 2G/3G/4G
- Обновление данных абонента через изменение данных в Backend-DB. Сценарий реализован только для увеличения объема данных абонента (ручное обновление SQL приложения и ручная инициация MAPinsertsubscriber_data)
Задачи:
- Разработка высоконагруженных модулей парсинга сигнальных протоколов.
- Разработка модулей формирования бизнес-логики системы и взаимодействия с In-Memory БД
- Техническое развитие системы и процесса поставки ПО.
- Оптимизация времени обработки и передачи данных между компонентами системы
- Решение и расследование возникающих при эксплуатации системы проблем.
Ожидания
- Опыт работы от 5 лет.
- Отличное знание С++.
- Знание классических алгоритмов и структур данных.
- Опыт написания многопоточных и/или асинхронных программ.
- Умение тестировать собственный код (Unit-тестирование).
- Опыт разработки БД
- Опыт разработки микросервисов
- Знание принципов обеспечения отказоустойчивости систем
- Знание принципов Solid
- Понимание принципов работы операционных систем, баз данных и компьютерных сетей
- Уверенное использование Linux и инструментов командной строки
-
Теоретические знания или реальная работа с сетевыми и сигнальными протоколами (DIAMETER, MAP, TCAP, M3UA).
Будет плюсом:
- Знание C
- Опыт в оптимизации перформанса и low-level оптимизациях.
- Опыт работы с Wireshark/tcpdump.
- Docker, Ansible, Kubernetes, gRPC, Redis, Memcached
- Опыт разработки распределенных высоконагруженных систем.
- Понимание как устроен Linux и Linux/POSIX API.
- Опыт анализа производительности отдельных приложений и системы в целом.
- Знакомство с сетевыми и сигнальными протоколами (HTTP2, DIAMETER, MAP, CAP и проч.).
- Понимание работы сетевого стека. Уровень L2-L4.