После обновления тарифа разные запросы показывают то старую, то новую цену
Тарифы кэшируются в локальном кэше Caffeine внутри приложения. Сервис работает в шести репликах. При изменении тарифа запрос попадает в одну реплику, она делает @CacheEvict. Пользователи видят то новую, то старую цену в зависимости от того, в какую реплику попал запрос.
Что происходит и как решить?
- Сброс сработал в одной реплике; нужен общий кэш или рассылка события о сбросе
- Caffeine не поддерживает @CacheEvict в многопоточной среде
- Балансировщик кэширует ответы и отдаёт старые
- Нужно вызывать @CacheEvict шесть раз подряд
