Microservices Training System - Дипломный проект
Комплексная микросервисная платформа для управления тренировками с 7 специализированными сервисами
О проекте
Дипломный проект уровня 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 сервисов
- Создание Gateway Service для маршрутизации
- Разработка Auth Service с JWT аутентификацией
- Создание Notification Service для многоканальных уведомлений
- Реализация Setting Service с GraphQL API
- Разработка Task Service для управления задачами и статусами
- Создание Scheduler Service на Quartz.NET
- Интеграция gRPC для межсервисной коммуникации
- Настройка Apache Kafka для асинхронных событий
- Реализация SignalR для real-time обновлений
- Docker-контейнеризация всех компонентов
- Разработка React SPA приложения
- Настройка системы назначения исполнителей
- Реализация управления статусами задач
Достижения
- Успешная реализация сложной микросервисной архитектуры
- Интеграция 7 различных технологий коммуникации между сервисами
- Работающая production-система с реальными пользователями
- Обработка 1000+ одновременных подключений через SignalR
- Автоматическое масштабирование под нагрузку
- Высокая оценка на защите дипломного проекта
Использованные технологии
Особенности проекта
Детали проекта
Дипломный проект
29.10.2024
Веб-разработка