Как бы вы реализовали общий кэш, который обновляет один сервис, а читают другие, сохраняя микросервисные границы?

Назначьте одному сервису владение read-моделью и договоритесь о публичном контракте её чтения. Общий Redis не должен превращаться в неформальную базу, куда каждый сервис пишет произвольные ключи.

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

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

Назначьте одному сервису владение read-моделью и договоритесь о публичном контракте её чтения. Общий Redis не должен превращаться в неформальную базу, куда каждый сервис пишет произвольные ключи.

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

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

Назначьте одному сервису владение read-моделью и договоритесь о публичном контракте её чтения. Общий Redis не должен превращаться в неформальную базу, куда каждый сервис пишет произвольные ключи.

Можно предоставить API поверх кеша или публиковать события, чтобы потребители строили свои представления. Если прямое чтение общего кеша оправдано, зафиксируйте schema/version, namespace, TTL и поведение при недоступности. Источник истины и право обновления должны быть однозначными; потеря кеша не должна уничтожать бизнес-данные.

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

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

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

Подробнее