首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能使nginx负载平衡应用程序和缓存服务器“并行”?

是否有可能使nginx负载平衡应用程序和缓存服务器“并行”?
EN

Server Fault用户
提问于 2015-09-23 17:30:23
回答 1查看 1.3K关注 0票数 2

我刚刚阅读了这个数字海洋项目,并想知道最后一个示例中的拓扑学是否可以用nginx实现。

我感兴趣的是负载均衡器如何处理两个不在应用服务器前面的专用缓存服务器。他们这样描述这个过程:

  1. 负载均衡器检查缓存后端,以查看请求的内容是否缓存(缓存命中)或不缓存(缓存失败)。
  2. 如果缓存命中:将请求的内容返回到负载均衡器并跳转到步骤7。如果缓存失败:缓存服务器通过负载均衡器将请求转发到应用后端。
  3. 负载均衡器将请求转发到应用程序后端。
  4. 从数据库读取应用后端,然后将请求的内容返回到负载均衡器。
  5. 负载均衡器将响应转发给缓存后端。
  6. 缓存-后端缓存内容,然后将其返回到负载均衡器。
  7. 负载平衡器将请求的数据返回给用户。

我想负载均衡器应该在上游指令中包含这两组:

代码语言:javascript
复制
upstream cachebackend {
    server cache-1.example.com;
    server cache-2.example.com;
}

upstream appbackend {
    server app-1.example.com;
    server app-2.example.com;
}

然后从服务器指令内部:

代码语言:javascript
复制
location / {
    proxy_pass http://cachebackend;

    # if that one is a MISS, request this one:
    # proxy_pass http://appbackend;
    # and then save the response on the cachebackend
    # before returning it to the client
}

我想知道如何告诉nginx遵循上面的步骤,或者是否有可能。

谢谢:)

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-09-23 17:39:09

Nginx可以同时负载平衡和缓存,您只需要使用proxy_cache_path指令配置缓存区域,并使用proxy_cache将其分配给特定的server {}location {}。因此,最后,如果使用nginx作为负载均衡器和缓存,则数字海洋体系结构看起来是多余的。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/724341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档