asman.malikov_ EN

Система · финтех

Микросервисы платёжной платформы — биллинг, уведомления, криптоинтеграции

Бэкенд / Платформа 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.

AI-читаемая запись (Markdown) · ← Назад к библиотеке