首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向代理服务器云架构(AWS + nginx)

反向代理服务器云架构(AWS + nginx)
EN

Server Fault用户
提问于 2013-01-07 22:04:27
回答 2查看 5.5K关注 0票数 2

目前,我使用nginx + Currently缓存响应。我正在把我的应用程序转移到AWS。我正在设计一种水平规模的方法,但试图确定将nginx + approach缓存放在何处的最佳位置。

我从我自己的研究中找到了一些解决方案,两者都有很大的缺点。

  • 使用AWS弹性负载均衡器来平衡一组网络应用程序。每个web应用程序都运行自己的nginx和web服务器堆栈。缺点:每个服务器上的缓存都需要加热。最坏的情况是1/n命中率。
  • 将nginx + centralized放在AWS ELB的前面,这样缓存就可以集中进行最大的命中。缺点:单点故障--如果nginx死了,流量不会通过ELB。添加了nginx实例。

我希望有任何关于克服上述缺点的通用架构的建议。

EN

回答 2

Server Fault用户

发布于 2013-01-09 05:16:11

我在AWS上设置了很多次这个堆栈。选项1一直对我很有用,而且是我通常选择的选项,因为它是最简单的。我很想知道你要处理多少流量,不太理想的初始缓存命中是一个问题吗?我每个月在一对m1小实例上提供几百万次的页面浏览量,而且它们几乎没有被抓到。

其他想法:

  • Nginx可以使用memcached作为缓存存储。将其插入ElasticCache集群。这将为多个实例提供一个非常快速、集中的数据存储,用于缓存内容。)我从来没有这样做过,但看起来是可行的。如果你真的尝试了,请张贴结果。)
  • 选项2中提到的SPoF问题可以通过设置包含单个实例的自动标度组来缓解。如果它死了,它应该会在几分钟内恢复正常。您将需要摆弄一个自动抓取弹性IP的引导脚本。
  • 请记住,在ELB前面放置任何东西都需要使用VPC。这通常是很好的实践,但它可以有一个陡峭的学习曲线。
  • 今天刚刚宣布了云表报警动作。您可以用它做一些很酷的事情,以帮助最小化SPoF问题。
票数 3
EN

Server Fault用户

发布于 2013-01-08 11:39:57

看来您正在考虑的是我计划实现的相同的体系结构。

我已经考虑过这些场景和相同的方法,然后解决了这个问题。

我将使用第二个选项,在负载均衡器前面设置缓存解决方案。我将处理单点故障问题,增加一个具有备用的节点,并使用类似于HAProxy的方法来不断检查机器的运行状况。如果第一台缓存机关闭,那么HAProxy将自动移动IP并将流量移动到另一台缓存备用机器,从而处理单个故障点。

另外,在我的场景中,我将使用类似Varnish的东西,而不是Nginx+php,这也是我的建议,以防您的应用程序不依赖于Nginx。清漆将有自己的内置负载均衡器,因此您将跳过AWS负载均衡器也。

希望这将帮助您构建一个健壮的、可伸缩的基础结构。

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

https://serverfault.com/questions/463834

复制
相关文章

相似问题

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