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

Как мы видим, представленный дизайн упрощен, но в системе есть определенные проблемы, которые мы перечислили ниже. В этом упражнении ваша задача — определить строительные блоки, которые, если их включить, могут устранить эти проблемы для оптимальной работы системы. Вот проблемы, с которыми система сталкивается в настоящее время:
-
Если определенные пользователи непрерывно отправляют чрезмерное количество запросов (возможно, это атака отказа в обслуживании), система может перегрузить наши серверы на заднем плане. Необходимо смягчить такие всплески запросов, чтобы предотвратить негативное влияние на серверную инфраструктуру. Какой компонент, по вашему мнению, может помочь решить эту проблему?
-
Предположим, мы управляем базой пользователей из 200 миллионов, и они генерируют огромный объем запросов по различным категориям, например, загрузка видео, комментарии, обсуждения на форуме и добавление модулей. Управление и различение этих действий в системе может быть сложной задачей. Какой компонент или строительный блок необходим для эффективного решения этой проблемы и уникальной идентификации каждого запроса?
-
Инженерная команда в настоящее время тратит значительное количество времени на выявление и устранение сбоев в системе. Чтобы упростить этот процесс, важно интегрировать соответствующий строительный блок или сервис в дизайн системы. Какой компонент вы рекомендуете для выявления и устранения сбоев в системе?
-
Кроме недостатков, мы хотим добавить функцию, позволяющую пользователям видеть количество просмотров каждого видеоурока. В сущности, нам нужен счетчик, чтобы отслеживать большое количество просмотров видео. Какой подход вы предложите для эффективной оценки приблизительного количества просмотров в этой среде с высокой нагрузкой?