Проектирование платформы, похожей на Twitter

Разделите публикации, ленту, подписки, медиа и поиск. Для ленты используйте гибридную доставку: обычные авторы — fan-out при записи, крупные — при чтении.

Короткий ответ

Что ответить на собеседовании

Разделите публикации, ленту, подписки, медиа и поиск. Для ленты используйте гибридную доставку: обычные авторы — fan-out при записи, крупные — при чтении.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо спроектировать сервис, аналогичный Twitter, рассчитанный на аудиторию около 70 млн пользователей. Система должна поддерживать публикацию сообщений (твитов) с ограничением по количеству символов. К каждому сообщению можно прикреплять фотографии и видеоматериалы, однако аудио‑вложения не допускаются. Онлайн‑трансляции в сервисе не предусмотрены. Требуется реализовать работу с хештегами и обеспечить удобный пользовательский опыт в мобильном приложении.

Ответ

Разделите публикации, ленту, подписки, медиа и поиск. Для ленты используйте гибридную доставку: обычные авторы — fan-out при записи, крупные — при чтении.

70 млн регистраций недостаточно для расчёта нагрузки: уточните DAU, число публикаций и чтений на пользователя, долю медиа и пиковый коэффициент.

Клиент обращается к API через балансировщик. Посты и связи подписки хранятся отдельно; фоновые события обновляют ленты и поисковый индекс хештегов. Идентификаторы ленты кешируются, пагинация использует стабильный cursor. Для популярных авторов массовая запись всем подписчикам заменяется подмешиванием постов при чтении.

Фото и видео загружаются в объектное хранилище, проходят проверку и обработку, раздаются через CDN. Запрет аудиовложений проверяется по содержимому файла, а не только расширению; видеоролик при этом может иметь звуковую дорожку, если продукт это разрешает. Live-streaming не проектируем.

Нужны идемпотентная публикация, контроль доступа, удаление контента из производных представлений, модерация и наблюдаемость. Для мобильного клиента — кеш, догрузка и восстановление после обрыва сети.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее