Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 3.76 KB

File metadata and controls

68 lines (51 loc) · 3.76 KB

Описание для резюме: Payment Service

Краткое описание (для списка проектов)

Payment Service — платёжный сервис с поддержкой идемпотентности, Saga Pattern и событийной архитектуры.
Стек: Java 17, Spring Boot 3.2, PostgreSQL, Redis, Kafka, gRPC, Docker
GitHub: https://github.com/NiMv1/payment-service


Развёрнутое описание (для раздела "Pet-проекты")

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

Ссылка

GitHub: https://github.com/NiMv1/payment-service