Существует ли HTTP-кеш, подходящий для разработки на основе веб-сервисов с ограниченным API? - PullRequest
0 голосов
/ 01 марта 2010

В какой-то момент я захочу запустить свое приложение на чем-то похожем на настоящий веб-сервис. У веб-службы есть ограничение на количество вызовов API, которое я вижу. Я рассматривал сериализацию некоторых файлов JSON вручную, но, похоже, это будет сложный путь кеширования.

Существует ли HTTP-кеш, который я мог бы запустить на локальном компьютере, который агрессивно (до тех пор, пока я не сбросил его вручную) кешировал запросы к определенному сайту?

Ответы [ 2 ]

0 голосов
/ 01 марта 2010

Я построил прокси-сервер, который обрабатывает запросы на разработку и гарантирует, что вызовы API будут забиты при тестировании. Вот как я это делаю с моим прокси ASP.Net MVC:

public ActionResult ProxyRequest(string url, string request)
{
   object cachedRequest = Cache[url];
   if(cachedRequest != null)
   {
      return Content(cachedRequest, "application/json");
   }
   else
   {
      // make the http request here
      Cache[url] = cachedRequest;
      return Content(cachedRequest, "application/json");
   }
}

Я не нахожусь в своей разработке сейчас, поэтому я делаю это с головы до головы, но концепция та же самая. Вместо использования Cache [url] = cachedRequest я использую метод Cache.Insert, но у него много параметров, которые я не могу вспомнить. (стал ленивым и построил класс-оболочку вокруг него, так что мне не нужно это помнить)

Эта установка проксирует все мои JSON-запросы (используя var isDevelopment = true (|| false)) в моем JS-коде и используя переменную isDevelopment, знает, прокси-запрос или нет, или напрямую обращается к серверу.

0 голосов
/ 01 марта 2010

Вы говорите «кеш», но я думаю, что вы действительно имеете в виду «фильтр» или «прокси». Первое решение, которое приходит на ум - это система iptables , которую можно использовать с правилами -limit и -hitcount для отбрасывания пакетов на веб-сервер после некоторого порога. Я даже не буду притворяться компетентным в конфигурации iptables.

Вторым курсом может быть веб-прокси, такой как Squid, использующий механизм пула задержки . Ожидайте обучения там тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...