Портфолио / AniWay Reload

AniWay Reload — подробный кейс

Микросервисная платформа с очередями, объектным хранилищем, realtime‑каналами и полным стеком наблюдаемости. Проект демонстрирует наш подход к сложным системам: продуманная декомпозиция, эксплуатационная зрелость с первого дня и архитектура, которую можно масштабировать или упрощать под бюджет.

AniWay Reload — логотип
Кейс
2024–2025 • Pet‑project / R&D
Стек и инструменты
Java 21Spring Boot 3 (microservices)PostgreSQL (per-service DB)React 18 + TypeScript + ViteTailwind CSSRabbitMQMinIO (S3-compatible)Caddy (reverse proxy, TLS, SSE/WS)Prometheus + Grafana + AlertmanagerDocker / Docker Compose (dev & prod)

О проекте

AniWay Reload — платформа для чтения манги с социальным слоем и realtime‑функциями. Контент — лишь верхушка: под капотом — распределённая система с изолированными доменами, асинхронными интеграциями и production‑ready инфраструктурой. Проект собран так, чтобы его можно было развивать, масштабировать и передавать другой команде без «потери контекста».

Демонстрируемые компетенции

  • Проектирование доменов и границ сервисов без «монолита на микросервисах»
  • Realtime‑сценарии: SSE, WebSocket, очереди, безопасная доставка событий
  • Эксплуатация: метрики, алерты, лимиты ресурсов, предсказуемый деплой
107 000+
строк кода
14
микросервисов
10+
баз данных
800+
файлов

Почему мы показываем этот проект

Проекты такого уровня редко встречаются в госзаказах до 1 млн рублей — там обычно монолиты с базовой функциональностью. Типичный тендер на 300–500К — это 10–15 тысяч строк кода. AniWay в 5–10 раз сложнее. Мы демонстрируем этот кейс, чтобы показать потолок наших возможностей. Ваш проект за 200–700К мы закроем с запасом — и сделаем это качественно.

Интерфейс платформы

Скриншоты основных экранов и функций

Функциональные домены

Система разбита на изолированные контуры с чёткими границами и ответственностью. Каждый домен — отдельный сервис со своей БД, что упрощает развитие, тестирование и замену компонентов.

Контентный контур
  • Манга/главы, парсинг и актуализация данных
  • Хранение и выдача изображений через объектное хранилище
  • Границы доменов и отдельные БД для изоляции изменений
Социальный слой
  • Комментарии, посты, форумные обсуждения
  • Друзья, личные сообщения и чаты
  • Событийные интеграции и realtime-сценарии
Realtime / уведомления
  • SSE-стримы для обновлений в UI
  • WebSocket-маршруты для интерактивных сценариев
  • Очереди RabbitMQ как основа асинхронных событий и задач
Эксплуатация
  • Healthchecks и метрики на уровне сервисов
  • Централизованная наблюдаемость (метрики, графики, алерты)
  • Раздельные dev/prod окружения в Docker Compose

Архитектура

API Gateway — единая точка входа, маршрутизация и контракт API. Reverse proxy (Caddy) терминирует TLS, прокидывает SSE/WebSocket и разделяет маршруты.

Каждый домен изолирован в своём сервисе и БД — изменения в одном контуре не ломают другие. Межсервисная коммуникация через RabbitMQ: события и фоновые задачи не блокируют API.

Медиаконтент вынесен в MinIO (S3‑совместимый API) — бизнес‑логика и хранение файлов разделены, сервисы разгружены от тяжёлых операций.

Поток запроса
Browser → Caddy (TLS, routes) → Gateway → Domain Service → PostgreSQL
(async) Domain Service → RabbitMQ → Consumer → Notification/Scheduler → SSE/WebSocket

Структура репозитория

Домены выделены в отдельные модули, инфраструктура и мониторинг лежат рядом. Всё, что нужно для запуска — в одном репозитории.

Открыть на GitHub
AniWayFrontend/
React + TS + Vite
GatewayService/
единая точка входа для API
AuthService/
аутентификация/авторизация
MangaService/, ChapterService/
контент
ImageStorageService/
объектное хранилище
ParserService/
парсинг и ingestion
CommentService/, ForumService/, PostService/
комьюнити
FriendService/, MessageService/, NotificationService/
соц + realtime
LevelService/, MomentService/
геймификация/активности
deployment/
Caddy конфиги, запуск
monitoring/
Prometheus/Grafana/Alertmanager, exporters
docs/ и wiki/
дизайн-доки, гайды

Инфраструктура: dev и prod

Раздельные Docker Compose для dev и prod. Dev‑окружение оптимизировано под быстрые итерации (volume‑маунты, hot reload). Prod‑compose — лимиты CPU/RAM, restart policies, строгие параметры.

Все зависимости (PostgreSQL, RabbitMQ, MinIO) контейнеризированы — окружение воспроизводимо на любом стенде, демонстрация или тестовый контур разворачивается за минуты.

Reverse proxy
Caddy • TLS • маршруты под API/SSE/WS
События/интеграции
RabbitMQ • асинхронщина • разгрузка API
Файлы/медиа
MinIO • S3 API • хранение и выдача

Наблюдаемость

Полный стек мониторинга из коробки: Prometheus собирает метрики со всех сервисов и инфраструктуры, Grafana визуализирует дашборды, Alertmanager отвечает за правила и доставку уведомлений. Деградации, пики, ошибки интеграций — видны до того, как пользователи начнут жаловаться.

Метрики
Сервисные метрики/healthchecks, наблюдение за базами, очередь, инфраструктурные экспортеры.
Алертинг
Правила на ошибки, задержки, рост очередей, доступность сервисов — чтобы реагировать до того, как пользователи начнут жаловаться.

Инженерная зрелость

Система как продукт
Инфраструктура, эксплуатация, документация и декомпозиция — не «потом», а с первого коммита.
Архитектура под задачу
Микросервисы здесь оправданы, но под другой бюджет выберем монолит или модульный монолит.
Понимание сложностей
Очереди, консистентность, наблюдаемость, SLA — знаем, где начинаются реальные проблемы и как их закрывать.
Передаваемость
Код, инфра и доки структурированы так, чтобы проект можно было передать другой команде без потери контекста.