Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Middle — Principal
8
Проектирование системы новостных лент
Условие задачи
Создать архитектуру сервиса новостных лент, обеспечивающего публикацию, отображение и кэширование материалов из внешних источников.
Требования к функционалу:
- Пользователь может публиковать сообщения в свой персональный новостный поток (в том числе с указанием ссылок на оригинальные ресурсы).
- Возможен просмотр как собственного, так и чужих потоков с прокруткой полного списка записей.
- Для новостей, ссылающихся на внешние ресурсы, выводится сниппет (заголовок, описание, изображение) с переходом к оригиналу.
- Предоставляется возможность увидеть содержимое оригинального ресурса внутри системы без перенаправления наружу (кеширование).
Нефункциональные требования:
- Доступность API не ниже 99.9%.
- Максимальное время отклика API — 100 мс.
- Сохранность данных минимум 5 лет.
Необходимо спроектировать:
- Хранилища и кэширующие слои для внешнего контента.
- API для создания и чтения лент.
- Асинхронные обработчики, отвечающие за загрузку и обновление сниппетов.
- Механизмы масштабирования и обеспечения отказоустойчивости.