Разработка и эксплуатация каналов продаж лотерей
Синхро является единственным ИТ подрядчиком, развивающим и эксплуатирующим основные каналы продажи государственных лотерей, распространителем которых является АО «Технологическая компания «Центр».
199 млн.
визитов на сайт в год, где 51 млн.уникальных посетителей
16 млн.
визитов в год в мобильное приложение (iOS и android)
до 200 000 RPS
средний RPS — 2500, во время проведения знаковых тиражей до 200 000 RPS
более 100 серверов
микросервисная архитектура, более 100 активно используемых сервисов
Главная десктоп
Платформы
- Сайт, десктопная версия
- Сайт, мобильная версии
- Мобильное приложение iOS и Android
Разработка функциональности платформ
- Различные виды лотерей: быстрые, числовые, семейство Русского лото
- Бонусные игры
- Прием платежей: СБП (в т.ч. QR-код), по карте, SberPay, через мобильные операторы
- Проведение выплат по выигрышным билетам
- Личный кабинет
- Игровые механики развития игрока: премиум-клуб, награды, бонусы, VIP-статус
- Различные виды программ лояльности
- Проверка выигрышных билетов


Внешние интеграции





Перевод высоконагруженных legacy систем на современные технологии, архитектуру и процессы без прерывания сервиса
Как
было
- Отсутствовало автоматическое горизонтальное масштабирование
- Приложение представляло из себя монолит
- Отсутствие технической документации
- Отсутствие архитектурной схемы
- Различные подходы к разработке ПО
- Устаревшие фреймворки и библиотеки
- Отсутствие механизмов проверки кода
- Множество локальных кешей, что существенно затрудняло горизонтальное масштабирование
Что сделано
нами
- Внедрение архитектурных паттернов отказаустойчивости
- Разработка микросвервисов с применением реактивного подхода
- Проведен аудит информационной безопасности
- Оптимизация работы с большими объемами данных как с точки зрения тюнинга самих БД, так и за счет использования шардирования и партиционирования
- Добавление трассировки (opentelemetry)
- Внедрение spring cloud config как единой точки хранения и распространения конфигураций
- Внедрение единой CMS (directus)
Планы
развития
- Переход к чистой микросервисной архитектуре
- Полный переход на реактивный подход. (redis, R2DB, netty, rsocket и тд)
- Внедрение ClickHouse для работы с аналитическими данными
- Отказ от ORM с целью увеличения производительности работы с DB
- Тюнинг механизмов сериализации
Эксплуатация высоконагруженных систем
Как
было
- Отсутствие проектной документации
- Различные процессы сборки кода для каждого репозитория
- Различный инструментарий для исполнения кода (screen, docker, standalone)
- Отсутствие технического мониторинга
- Отсутствие повторяемости при установке релизов
- Неполноценная среда для нагрузочного тестирования
- Устаревшие версии ПО и библиотек содержащие уязвимости
- Отсутствие системы управления инфраструктурой
Что сделано
нами
- Проведение аудита доступов, инфраструктуры, исполняемого кода в продуктивной среде
- Использование Kubernetes для оркестрации контейнеров
- Организация полноценных сред для разработки, тестирования и нагрузочного тестирования
- Выстраивание унифицированных процессов CI/CD на базе Gitlab
- Построение мониторинга на базе prometheus, graphite, grafana
- Выстраивание системы логгирования при помощи opensearch
- Использование ansible для централизованного управления серверами
Планы
развития
- Миграция с Redis на KeyDB
- Оптимизация использования инфраструктуры за счет миграции части ППО в Kubernetes (keydb, rebbitmq)
- Перевод серверов на 10 gb/s сеть
- Тюнинг nginx