Сначала выясните, горячий ли один ключ, диапазон или неравномерная функция распределения. Добавление узлов не поможет, если весь востребованный объект остаётся на одном шарде.
Как бороться с проблемой Hot Shard («горячего шарда»), когда 90% трафика распределённой системы приходится на одну физическую ноду?
Сначала выясните, горячий ли один ключ, диапазон или неравномерная функция распределения. Добавление узлов не поможет, если весь востребованный объект остаётся на одном шарде.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала выясните, горячий ли один ключ, диапазон или неравномерная функция распределения. Добавление узлов не поможет, если весь востребованный объект остаётся на одном шарде.
Для горячего диапазона подходят пересегментация и смена shard key; для горячего чтения — кеш и реплики; для интенсивной записи одного ключа — разбиение агрегата, если допускается семантикой. Salt распределяет записи, но усложняет чтение и сборку результата. Также нужны rate limiting и защита от одного шумного клиента. Решение проверяют по трафику и ограничениям консистентности.