Разработка прокси-объекта для гибкого настраиваемого кеширования результатов геолокации.
Скрытый контент
Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram
Комментарии (6)
Роман
выходит если первый сервер недоступен и он в приоритете то при каждом запросе мы будем к нему стучаться и если он отвалился на долго то это не очень
Фарух
Лучше наверное переместить ChainLocator внутрь CacheLocator и тогда если первый сервис не доступен, закешируется результат второго сервиса на определенное время, после того как кэш протухнет например через час, тогда будем снова пытаться постучаться к первому сервису, если его починили, закэшируем его результат.
Артем
Здесь рассматривается случай, когда есть сервис, которому мы больше доверяем. В этом случае желательно получить именно его данные. Для этого помещается выше и оборачивается в CacheLocator.
Евгений
Можно сделать простую реализацию CircuitBreaker. При ошибке кэшировать по специальному ключу, что была ошибка. Пока этот ключ не протух, запросы к локатору не делать.
Артем
Это реализация паттерна Декоратор?
Дмитрий Елисеев
Для кэширования это уже не просто Декоратор, а Заместитель (Прокси).
выходит если первый сервер недоступен и он в приоритете то при каждом запросе мы будем к нему стучаться и если он отвалился на долго то это не очень
Лучше наверное переместить ChainLocator внутрь CacheLocator и тогда если первый сервис не доступен, закешируется результат второго сервиса на определенное время, после того как кэш протухнет например через час, тогда будем снова пытаться постучаться к первому сервису, если его починили, закэшируем его результат.
Здесь рассматривается случай, когда есть сервис, которому мы больше доверяем. В этом случае желательно получить именно его данные. Для этого помещается выше и оборачивается в CacheLocator.
Можно сделать простую реализацию CircuitBreaker. При ошибке кэшировать по специальному ключу, что была ошибка. Пока этот ключ не протух, запросы к локатору не делать.
Это реализация паттерна Декоратор?
Для кэширования это уже не просто Декоратор, а Заместитель (Прокси).
Или войти через: