Cистема для автоматизации рассылок на Go
- Analytics
- Backend
- Golang
- Gin
- Echo
- Fiber
- gRPC
- Protocol Buffers
- Cobra
- Viper
- Logrus
- Zap
- GORM
- SQLx
- MongoDB Go Driver
- AWS SDK for Go
- Testify
- Ginkgo
- Docker
- Python
Индустрия
Энергетика

У вас есть задача?
Давайте обсудим?
О клиенте
Организация занимается производством электроэнергии и реализует масштабные проекты по строительству АЭС. Имеет 30+ энергоблоков на территории РФ. Также компания активно развивает направления, связанные с производством инновационной неядерной продукции, поддерживает экологические инициативы и участвует в международных проектах по термоядерному синтезу.
О проекте
Бизнес развивает цифровую сервисную платформу для работы с клиентами и управления их задолженностью. Изначально система поддерживала только два канала уведомлений: SMS и электронную почту. Однако первый метод оповещений был дорогим, второй — не обеспечивал должной эффективности. Для оптимизации расходов необходимо было добавить новые средства передачи сообщений.
Описание задачи
Программа должна была отправлять уведомления должникам и информировать их о возможных вариантах погашения задолженности, включая доступные способы оплаты и сроки. При постановке технического задания клиент сформулировал ряд функциональных требований к продукту:
- Источники данных: база клиентов (15 млн пользователей), история платежей, долговые суммы.
- Новые каналы для связи: ВКонтакте, Одноклассники, Telegram и WhatsApp.
- Процесс работы системы: выявление просроченных платежей, отправка уведомлений, возможность реструктуризации долга и передача дел в суд при отсутствии реакции.
- Аналитика и отчетность: мониторинг эффективности каждого канала, статистика по доставке, прочтению и ответам на уведомления.
Реализация
Мы привлекли Go-разработчиков и руководителя проекта, который стал частью экспертного совета по принятию архитектурных решений. Работы велись в закрытом контуре, но никаких дополнительных ограничений на ИТ-специалистов не накладывалось:
- Разработали микросервисную архитектуру на языке Go, обеспечив независимое масштабирование за счет разбиения на отдельные сервисы и использования контейнеризации.
- Написали gRPC-сервис для высокоскоростного обмена сведениями. Удалось увеличить производительность программы и снизить расходы на коммуникацию между сервисами.
- Настроили NAT для управления сетевым трафиком и маршрутизации запросов между внутренними сервисами и внешними API.
- Контейнеризировали сервисы в Docker. Смогли упростить развертывание и обновление системы и организовать единообразие окружений.
- Реализовали объектное хранилище с поддержкой разных форматов данных. Программа сохраняет информацию в человекочитаемом и машиночитаемом виде.
- Внедрили автоматизированную систему уведомлений, включающую несколько этапов: напоминание о задолженности, предупреждение о подготовке документов в суд, сообщение о передаче дела в суд, уведомление о судебных заседаниях, отслеживание статуса дела и возобновление подачи электроэнергии при полном погашении долга.
- Согласовали архитектурные решения с внутренними регламентами службы информационной безопасности.
Результат
Переходите по ссылке, чтобы узнать об аутсорсинге Go-разработчиков больше.