Проектная магистратура Университета ИТМО

Кеширование данных в событийно-ориентированной архитектуре

Руководитель от корпоративного партнера: Громов П., Пешков А., Шахматов А., GS Labs
Руководитель от Университета ИТМО: Маркина Татьяна Анатольевна, Университет ИТМО

Набор в этот проект закончен.

Аннотация

Кеширование данных решает вопросы быстроты работы системы. В системах с ежесекундными изменениями данных возникает проблема их актуальности в кеше. В рамках проекта вам предстоит решать проблемы актуализации кеша в событийно-ориентированной микросервисной архитектуре.

План действий

  1. Исследование событийно-ориентированной архитектуры
  2. Исследование способов кэширования данных.
  3. Исследования алгоритмов подбора запросов, требуемых кеширования.
  4. Разработка алгоритма кеширования данных.
  5. Реализация предложенного алгоритма.

Стек технологий

  1. User and Organizations
    • Инструменты гибкой разработки Agile, Scrum, Kanban
    • Тайм-менеджмент и планирование временем
  2. System Modeling
    • Системное моделирование (UML)
    • Анализ требований
  3. System Architecture and Infrastructure
    • Методы проектирования программных систем
    • Методы проектирования интеллектуальных систем
    • Проектирование событийно-ориентированных систем
    • Организация параллельных и распределенных вычислений
    • Компьютерные сети
    • Виртуальные системы и сервисы
  4. Software Development
    • Программирование на языках Python, Golang
    • Frontend разработка с использованием HTML/CSS/JS
    • PostgreSQL, Redis, Distributed data stores, Real-time data processing

Кем станет студент по завершению магистратуры

В зависимости от выполняемых задач внутри проекта выпускник может стать:

  • исследователем
  • системным архитектором
  • ведущим разработчиком

Пререквизиты (входные требования)

Для участия в проекте необходимы базовые знания по следующим направлениям:

  • Дискретная математика
  • Математическая статистика
  • Теория алгоритмов
  • Математическая оптимизация
  • Математическая логика
  • Высшая математика
  • Основы программирования
  • Алгоритмы и структуры данных
  • Программная инженерия
  • Архитектура программных систем
  • Базы данных