Fantasy League Backend
Fantasy-футбол платформа. Go + FastHTTP, идемпотентная обработка событий, PostgreSQL Advisory Locks.
Advisory LocksИдемпотентностьVK OAuth
Бизнес-задача
Fantasy-спорт платформа: виртуальные команды из реальных футболистов, очки на основе реальных матчей, турниры и приватные лиги.
Ключевая задача
Интеграция с внешним футбольным API. Идемпотентная обработка событий. Три уровня рейтингов. Гибкие правила подсчёта с множителями. PostgreSQL Advisory Locks для распределённых задач.
Подсчёт очков
Интеграция с внешним футбольным API:
- •Опрос с дельтой: каждые 5 минут
- •Идемпотентная обработка событий
- •Автоматический пересчёт после матча
- •Три уровня рейтингов: глобальный / по турниру / по раунду
Система очков
Гибкие правила начисления:
- •По позиции: вратарь, защита, полузащита, атака
- •По событиям: голы, ассисты, карточки, минуты
- •Множители: капитан (×2), вице-капитан (×1.5)
- •Кастомные правила по турнирам
Технологии
Backend
Go 1.24FastHTTPpgx/v5validator
Data
PostgreSQLgolang-migrateAWS S3
Integrations
GoalsFeed APIVK OAuthSMTP
Observability
Elastic APMPrometheusZap
Наша роль
- Архитектура backend с нуля: слоистая архитектура
- Движок подсчёта очков с идемпотентной обработкой
- PostgreSQL Advisory Locks для распределённых задач