Волобуев Петр | Технологический радарВолобуев Петр | Технологический радар
Использую

Реальная потребность пришла быстрее, чем думали: на этапе первых деплоев MES 2 стало ясно, что части сервисов нужны горизонтальные реплики — а значит, in-memory кэш на каждую реплику превращается в рассинхронизированный зоопарк. Вернули Redis в двух ролях:

  • распределённый кэш сессий и справочных данных между репликами сервисов
  • distributed lock для предотвращения гонки при одновременной обработке событий маркировки

Использовали StackExchange.Redis напрямую и через IDistributedCache из Microsoft.Extensions. Второй вариант удобнее для переносимости, но менее гибок, когда нужны специфические команды Redis.

Честности ради: конкретно наши проблемы решались и другими способами — но нам просто захотелось сделать именно так.

Бросил

Решили отказаться: для наших задач это оверинжиниринг. Распределённый кэш нам, по прикидкам, не понадобится — in-memory кэша на сервис хватает. Откладываю до появления реальной потребности.

Пробую

Начали изучать Redis в контексте распределённого кэширования для микросервисной архитектуры. Оценивали как замену in-memory кэшу отдельных сервисов — особенно актуально когда сервис запускается в нескольких репликах и нужна консистентность кэша между инстансами.