In-memory кеш отдельный у каждого процесса: данные дублируются, прогрев и инвалидирование расходятся, а при рестарте содержимое теряется. Рост числа workers увеличивает расход памяти.
Какие ограничения и проблемы есть у in-memory кэша, особенно при масштабировании микросервисов на несколько воркеров?
In-memory кеш отдельный у каждого процесса: данные дублируются, прогрев и инвалидирование расходятся, а при рестарте содержимое теряется. Рост числа workers увеличивает расход памяти.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
In-memory кеш отдельный у каждого процесса: данные дублируются, прогрев и инвалидирование расходятся, а при рестарте содержимое теряется. Рост числа workers увеличивает расход памяти.
Локальный кеш подходит для небольших часто читаемых данных с допустимой задержкой обновления. Нужны ограничения размера, TTL и защита от одновременного пересчёта. Суммарная память равна не размеру одного кеша, а сумме по процессам и репликам. Если требуется согласованная квота или общее состояние, локального словаря недостаточно: используют централизованное хранилище либо иной протокол согласования. Даже распределённый кеш не снимает необходимость определить источник истины и поведение при его недоступности.