Назад к задачам
Middle — Principal
8

Проектирование системы новостных лент

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Создать архитектуру сервиса новостных лент, обеспечивающего публикацию, отображение и кэширование материалов из внешних источников.

Требования к функционалу:

  • Пользователь может публиковать сообщения в свой персональный новостный поток (в том числе с указанием ссылок на оригинальные ресурсы).
  • Возможен просмотр как собственного, так и чужих потоков с прокруткой полного списка записей.
  • Для новостей, ссылающихся на внешние ресурсы, выводится сниппет (заголовок, описание, изображение) с переходом к оригиналу.
  • Предоставляется возможность увидеть содержимое оригинального ресурса внутри системы без перенаправления наружу (кеширование).

Нефункциональные требования:

  • Доступность API не ниже 99.9%.
  • Максимальное время отклика API — 100 мс.
  • Сохранность данных минимум 5 лет.

Необходимо спроектировать:

  • Хранилища и кэширующие слои для внешнего контента.
  • API для создания и чтения лент.
  • Асинхронные обработчики, отвечающие за загрузку и обновление сниппетов.
  • Механизмы масштабирования и обеспечения отказоустойчивости.