Payment Service — платёжный сервис с поддержкой идемпотентности, Saga Pattern и событийной архитектуры.
Стек: Java 17, Spring Boot 3.2, PostgreSQL, Redis, Kafka, gRPC, Docker
GitHub: https://github.com/NiMv1/payment-service
Микросервис обработки платежей, демонстрирующий навыки проектирования финансовых систем.
Ключевые особенности:
- Идемпотентность платежей — защита от дублирования через Idempotency-Key с хранением в БД и автоматической очисткой
- Saga Pattern — распределённые транзакции для переводов между кошельками с механизмом компенсации
- Event-Driven Architecture — асинхронные события платежей через Apache Kafka
- gRPC — подготовлено для межсервисного взаимодействия
Технологии:
- Java 17, Spring Boot 3.2, Spring Security, Spring Data JPA
- PostgreSQL (Flyway миграции), Redis (кэширование)
- Apache Kafka (события), gRPC (межсервисное взаимодействие)
- Docker, Prometheus, Grafana (мониторинг)
- OpenAPI/Swagger (документация)
Реализованный функционал:
- Создание, подтверждение, отмена платежей
- Полные и частичные возвраты
- Кошельки пользователей с блокировкой средств
- Переводы между кошельками (Saga)
- Оптимистичная и пессимистичная блокировки
| Навык | Реализация в проекте |
|---|---|
| Идемпотентность | Idempotency-Key header, хранение результатов в БД |
| Saga Pattern | Распределённые транзакции с компенсацией ошибок |
| Event-Driven | Kafka producer для событий платежей |
| gRPC | Подготовлена инфраструктура для межсервисного взаимодействия |
| Блокировки | @Version (оптимистичная), FOR UPDATE (пессимистичная) |
| Миграции БД | Flyway для версионирования схемы |
| Мониторинг | Prometheus + Grafana + Micrometer |
| Контейнеризация | Docker, Docker Compose |
Payment Service — микросервис обработки платежей
• Реализовал идемпотентность платежей через Idempotency-Key с хранением в PostgreSQL
• Применил Saga Pattern для распределённых транзакций переводов между кошельками
• Интегрировал Apache Kafka для асинхронных событий платежей
• Настроил мониторинг через Prometheus/Grafana и документацию через OpenAPI
Стек: Java 17, Spring Boot 3.2, PostgreSQL, Redis, Kafka, gRPC, Docker