Microservices Training System - Дипломный проект

Комплексная микросервисная платформа для управления тренировками с 7 специализированными сервисами
Microservices Training System - Дипломный проект

О проекте

Дипломный проект уровня enterprise - полнофункциональная микросервисная архитектура для системы управления тренировочным процессом.

🏗️ Архитектура системы:

Микросервисная экосистема из 7 специализированных сервисов:

1. Gateway Service - единая точка входа
- Маршрутизация запросов между микросервисами
- Агрегация данных от различных сервисов
- Балансировка нагрузки и кэширование

2. User Service - управление пользователями и правами
- Полный CRUD для пользователей и ролей
- Система разрешений на основе RBAC
- gRPC-интеграция с другими сервисами
- Apache Kafka для асинхронных уведомлений

3. Auth Service - аутентификация и авторизация
- JWT-токены с refresh-механизмом
- MongoDB для хранения сессий
- Интеграция с User Service через gRPC

4. Notification Service - многоканальные уведомления
- Отправка email через SMTP-воркеры
- Telegram-уведомления
- SMS-рассылки
- Apache Kafka consumers для обработки очередей

5. Setting Service - централизованное управление настройками
- GraphQL API для гибких запросов
- Redis-кэширование настроек
- SignalR Hub для real-time обновлений
- Централизованная конфигурация системы

6. Task Service - управление тренировочными задачами
- Полный цикл CRUD операций
- Валидация бизнес-логики
- Интеграция с пользовательской системой

7. Scheduler Service - планировщик задач
- Quartz.NET для отложенных задач
- Расписание тренировок и уведомлений
- Автоматизация повторяющихся процессов

🔧 Технологический стек:

Backend:
- ASP.NET Core 8 для всех микросервисов
- PostgreSQL с Dapper для реляционных данных
- MongoDB для документоориентированных данных
- Redis для распределенного кэширования

Коммуникация:
- gRPC для синхронной межсервисной коммуникации
- Apache Kafka для асинхронной обработки событий
- SignalR для real-time взаимодействия
- GraphQL для гибких API запросов

Инфраструктура:
- Docker-контейнеризация всех сервисов
- Ocelot API Gateway
- Quartz.NET для планирования задач
- Liquibase для управления миграциями

Frontend:
- React SPA приложение
- Интеграция со всеми микросервисами
- Real-time обновления через SignalR

🎯 Ключевые особенности:
- Полное разделение ответственности между сервисами
- Горизонтальное масштабирование каждого компонента
- Отказоустойчивость и резервирование
- Централизованное логирование и мониторинг

Детали реализации

Задачи проекта

  • Разработка современного интерфейса
  • Оптимизация производительности
  • Адаптация под мобильные устройства

Достижения

  • Успешная реализация сложной микросервисной архитектуры
  • Интеграция 7 различных технологий коммуникации между сервисами
  • Работающая production-система с реальными пользователями
  • Обработка 1000+ одновременных подключений через SignalR
  • Автоматическое масштабирование под нагрузку
  • Высокая оценка на защите дипломного проекта

Использованные технологии

ASP.NET Core 8 Microservices Architecture Docker PostgreSQL MongoDB Redis gRPC Apache Kafka SignalR GraphQL Ocelot API Gateway Quartz.NET Dapper FluentValidation AutoMapper Liquibase React JWT Authentication RBAC Authorization

Детали проекта

Клиент:

Дипломный проект

Дата завершения:

29.10.2024

Ссылки на проект:
Категория:

Веб-разработка

Нравится этот проект? Хотите такой же?