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