api - 缓存第三方API调用的最佳做法是什么?

标签 api caching nginx squid varnish

我们的团队目前运行4-5个应用程序,所有这些应用程序都使用各种第三方服务(SimpleGeo,FB图形API,Yelp API,StrikeIron等)。应用程序之间存在很大的重叠,并且我们经常为相同的输入参数多次调用相同的API。显然,这是不理想的:它速度慢且价格昂贵(某些API并非免费)。

在多个应用程序之间缓存这些API调用的最佳实践是什么?我看到几个选择:

  • 编写一个自定义应用程序,为所有这些API创建外观,并更改我的所有应用程序以使用它。
  • 以非常积极的缓存模式配置某种HTTP代理,并通过该代理执行与API的连接。

  • 我还有其他选择吗?

    选项2有什么问题吗?您会为此推荐什么HTTP代理(Squid,Varnish,Nginx等)?

    最佳答案

    你可以用这三种中的任何一种,但我会用鱿鱼。 Squid 就是为此目的而创建(并被大量使用)(作为缓存代理)。 Varnish 被设计为反向代理(在您自己的后端之前的缓存),而 nginx 更像是负载平衡器和 Web 处理器(提供文件和动态页面)。

    关于api - 缓存第三方API调用的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8070000/

    相关文章:

    node.js - 在 node.js 服务器上使用 nginx 时为 "websocket connection invalid"

    python - Pyramid 中的多重身份验证策略

    javascript - 401 使用 POST 方法 API 身份验证失败

    node.js - 上传/部署 zip 文件时,不会创建 .platform Hook 中的 AWS Elastic Beanstalk 自定义 nginx .conf 文件

    jsp - JSP页面如何控制缓存?

    scala - 喷雾缓存 : cache only when not None

    regex - 获取url参数并保存变量或cookie

    php - 使用 Prestashop API 获取产品 URL

    java - Android Studio 上的 java.lang.ExceptionInInitializerError 和 java.lang.IllegalArgumentException 是什么?

    php - Apache、mod_cache 和 Cookies