Горячий шард
Вопрос
Соцсеть шардирует посты по author_id. Один блогер с 20 млн подписчиков создаёт огромную нагрузку на чтение своего шарда. Какое решение наиболее разумно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Кешировать его посты и добавить шарду реплики чтенияправильный ответ
- Перешардировать всю систему по post_id вместо author_id
- Ограничить число подписчиков у одного автора
- Перенести блогера в отдельную БД без реплик
Разбор
Проблема в чтении горячих данных, поэтому её решают кешированием и репликами: посты популярного автора меняются редко, а читаются постоянно. Перешардирование всей системы ради одного автора дорого и ломает запросы «посты автора». Ограничивать подписчиков нельзя по продуктовым причинам. Отдельная БД без реплик только сконцентрирует нагрузку.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Вертикальное и горизонтальное масштабирование
Следующий вопрос
L4 и L7 балансировщики