Skip to main content

Online Education System

Online Education System​

Ниже представлен высокоуровневый системный дизайн онлайн-образовательной платформы, которая предоставляет различные видеоуроки по разным предметам. Пользователи выбирают курсы для покупки и просмотра видеоуроков. Ознакомьтесь с архитектурой, чтобы ответить на вопросы, приведенные ниже. Также даны подробности различных типов сервисов, включенных в дизайн. img_242.png

Как мы видим, представленный дизайн упрощен, но в системе есть определенные проблемы, которые мы перечислили ниже. В этом упражнении ваша задача — определить строительные блоки, которые, если их включить, могут устранить эти проблемы для оптимальной работы системы. Вот проблемы, с которыми система сталкивается в настоящее время:

  1. Если определенные пользователи непрерывно отправляют чрезмерное количество запросов (возможно, это атака отказа в обслуживании), система может перегрузить наши серверы на заднем плане. Необходимо смягчить такие всплески запросов, чтобы предотвратить негативное влияние на серверную инфраструктуру. Какой компонент, по вашему мнению, может помочь решить эту проблему?

  2. Предположим, мы управляем базой пользователей из 200 миллионов, и они генерируют огромный объем запросов по различным категориям, например, загрузка видео, комментарии, обсуждения на форуме и добавление модулей. Управление и различение этих действий в системе может быть сложной задачей. Какой компонент или строительный блок необходим для эффективного решения этой проблемы и уникальной идентификации каждого запроса?

  3. Инженерная команда в настоящее время тратит значительное количество времени на выявление и устранение сбоев в системе. Чтобы упростить этот процесс, важно интегрировать соответствующий строительный блок или сервис в дизайн системы. Какой компонент вы рекомендуете для выявления и устранения сбоев в системе?

  4. Кроме недостатков, мы хотим добавить функцию, позволяющую пользователям видеть количество просмотров каждого видеоурока. В сущности, нам нужен счетчик, чтобы отслеживать большое количество просмотров видео. Какой подход вы предложите для эффективной оценки приблизительного количества просмотров в этой среде с высокой нагрузкой?