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 сервисов
  • Создание 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
  • Автоматическое масштабирование под нагрузку
  • Высокая оценка на защите дипломного проекта

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

ASP.NET Core Docker MongoDB PostgreSQL React Redis GitLab CI/CD C# REST API Apache Kafka Dapper gRPC SignalR JWT FluentValidation AutoMapper Liquibase

Особенности проекта

Микросервисная архитектура API Gateway Аутентификация JWT Авторизация RBAC Планировщик задач (Quartz.NET) Real-time обновления Гибкие GraphQL запросы Межсервисная gRPC коммуникация Асинхронная обработка событий через Kafka

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

Клиент:

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

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

29.10.2024

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

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

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

Оставьте заявку и получите бесплатную консультацию специалиста