Sobes.tech
Middle+ — Principal
47

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

任务条件

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

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

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

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

  • Доступность API не менее 99.9%.
  • Время отклика API должно быть ≤ 100 мс.
  • Хранить данные минимум 5 лет.

Требуемые архитектурные компоненты:

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