Я реализую веб-приложение с высоким трафиком, которое использует много REST API для своего уровня доступа к данным из базы данных облака. Я сказал клиент, потому что он реализует REST и не предоставляет его.Вопрос архитектуры: клиентское решение кэширования REST API
REST API реализованы как на стороне сервера, так и на стороне клиента, и мне нужно выяснить, какое решение подходит для кэширования. Приложение работает на веб-ферме, поэтому я склоняюсь к распределенному кешированию, например memcached. Это кэширующее решение должно быть похоже на прокси-уровень между моим приложением и API-интерфейсами REST и поддерживать как клиентскую, так и серверную сторону.
Например, если я сделаю звонок для обновления записи, которую я бы обновил через REST, и я бы хотел сохранить обновленную запись в кеше, поэтому следующим вызовам этой записи не потребуется дополнительный вызов внешним службам REST.
Я хочу как можно больше свести к минимуму звонки REST, и мне нужно будет хранить данные как можно больше, но это не обязательно должно быть на 100% точным.
Какое наилучшее решение для этого кэширующего прокси? Является ли это автономным приложением, которое работает на одном из серверов с локальным кешем или встроено в текущее решение с использованием распределенного кэширования? вы что идеи, предложения или проблемы
Спасибо,
Спасибо за ваш вклад, как этот слой будет потреблять размер клиента в браузере с помощью javascript? – Sergey
Как правило, вы будете открывать веб-службы для своего приложения из своего приложения. Веб-сервисы будут отображаемым уровнем для вашего уровня сервиса. jquery-> веб-службы (возвращает json) -> услуги layer-> caching-> repository-> и т. д. –
Спасибо Andrew. Это определенно большая работа, так как я должен абстрагировать все API REST с помощью моего слоя ... но я не вижу другого способа. – Sergey