Система · финтех
Микросервисы платёжной платформы — биллинг, уведомления, криптоинтеграции
Бэкенд / Платформа GoGingRPCPythonFastAPIKafkaRedisPostgreSQLDocker
producer ──► outbox ──► Kafka ──► inbox-дедуп ──► consumer (идемпотентный)
│
биллинг ◄──gRPC──► крипта · уведомления сбои изолированы по сервисам Проблема
B2B-платёжной платформе нужны были новые продуктовые возможности — биллинг, email-уведомления, криптовалютные интеграции — без дестабилизации существующей системы и риска для денежного платёжного пути.
Подход
Спроектировал возможности как отдельные микросервисы на Go (Gin) и Python (FastAPI) — gRPC для синхронных вызовов и Kafka для event streaming. Сделал денежные операции безопасными при ретраях через идемпотентные ключи и outbox у продюсера → inbox-дедуп у консьюмера, изолировал сбои так, что медленный криптопровайдер или падение уведомлений не роняют биллинг. Redis для кэширования, очередей и rate limiting.
Результат
Отказоустойчивая микросервисная архитектура, где новые сервисы выходят без риска для основного платёжного пути — с нулевой повторной обработкой платёжных событий при ретраях. Вёл команду из 4 инженеров, которая это поставила.
Доказательства
Описано в истории работы (Korvax, 2022 — настоящее время); решения обсуждаемы на созвоне.
Доступно для: приватный разбор
Каждый сервис владеет своими данными и общается через события, поэтому сбой в уведомлениях или медленный криптопровайдер не уронят биллинг. Пара outbox→inbox плюс идемпотентные ключи — это то, что делает «обработать платёжное событие ровно один раз» правдой на практике, даже когда доставка at-least-once.