2

我们的团队目前运营 4-5 个应用程序,所有这些应用程序都使用各种 3rd 方服务(SimpleGeo、FB graph API、Yelp API、StrikeIron 等)。应用程序之间有很大的重叠,我们经常为相同的输入参数多次调用相同的 API。显然这并不理想:它很慢而且很昂贵(有些 API 不是免费的)。

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

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

我还有其他选择吗?

选项2有什么问题吗?你会推荐什么 HTTP 代理(Squid、Varnish、Nginx 等)?

4

1 回答 1

2

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

于 2011-11-10T19:40:29.497 回答