Задача: Разработать масштабируемую архитектуру для платформы долгосрочной аренды, способную выдерживать высокие нагрузки и обеспечивать консистентность данных между независимыми сервисами. Цель: Создать систему, где управление пользователями, бронирование и платежи разделены на изолированные микросервисы, исключая риск падения всей платформы при отказе одного узла. Особое внимание уделить надежности финансовых транзакций.
Архитектурный паттерн: Реализовал Event-Driven архитектуру. Использовал Django в качестве API Gateway и FastAPI для высокопроизводительных микросервисов.
Межсервисное взаимодействие: Настроил обмен сообщениями через Apache Kafka. Это позволило асинхронно синхронизировать состояние платежей и бронирований без жесткой связки (loose coupling).
Надежность (Resilience): Внедрил паттерны Idempotency Key для предотвращения дублирующих платежей и механизмы Retries/Backoff для обработки временных сбоев сети.
СУБД и оптимизация: Спроектировал схему данных в PostgreSQL, оптимизировал сложные запросы через индексы и эффективное использование SQLAlchemy 2.0.
Инфраструктура: Полностью оконтейнерил среду разработки через Docker Compose, обеспечив идентичность локального окружения и продакшена.
Создана отказоустойчивая система, готовая к горизонтальному масштабированию. Благодаря Kafka, добавление новых сервисов (например, системы уведомлений или аналитики) происходит без изменения кода существующих модулей. Система гарантирует доставку событий и целостность данных в платежном домене, что критично для бизнеса в сфере недвижимости.