gpt4 book ai didi

apache - AWS 和 Node.js,我需要 nginx 还是 apache?

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:40 25 4
gpt4 key购买 nike

我确实在 serverfault 上发布了这个,但没有得到任何意见或回应。

我在这里阅读了很多关于在使用 Node.js 时是否需要网络服务器的帖子,答案似乎总是肯定的,以提供静态文件。

我的问题是这个。如果我工作的站点主要是动态的,我不能只使用 Node.js 作为服务器和动态部分,然后将所有静态文件(css、js、图像等)放在 CloudFront 上来为它们提供服务向上?这样我就不必担心缓存(通过 varnish 或 redis 或你有什么),或运行像 nginx 这样的 http 服务器并通过代理访问 Node.js(我读过它会导致 socket.io 出现问题).

沿着类似的主题,Amazon 的 ELB 是否足以作为负载均衡器,或者如果站点变得足够大需要进行负载均衡,我是否需要做其他事情?提前致谢!

最佳答案

我不能明确谈论 node.js 架构决策,但我可以解决您的 CloudFront 和 ELB 问题。

CloudFront 是适用于静态 Assets 的出色 CDN,但也有一些问题。俗话说,"There are only two hard problems in Computer Science: cache invalidation and naming things."如果你想用同名但更新的 Assets 替换你的静态 Assets ,你将不得不开始使用 cache-control-headers,这决定了任何给定的 CF Node 缓存 Assets 的时间。如果将其设置得太低,则在 CF 中进行缓存几乎没有优势。这太痛苦了,我强烈建议对您的 Assets 进行版本控制并以同时部署 Assets 和更新 Assets 引用的方式设置您的应用程序。目前,无法通过 API 调用或其他方法手动使 CF 中的对象缓存过期。

至于 ELB 扩展:是的。使用它们。 Netflix 可以,如果他们可以,您也可以。使用 ELB 的关键是了解它们在应用程序流量中的作用:您希望它们具有高可用性,这意味着在多个可用区维护一组网络服务器,并确保正确配置 ELB 以命中它们。事实上,Netflix 最近open-sourced他们的 cloud management application简称“阿斯加德”。我建议检查一下。链接的博客文章对 ELB 的使用有很好的解释,Asgard 看起来是一种以零停机时间管理云部署的好方法。

关于apache - AWS 和 Node.js,我需要 nginx 还是 apache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12092016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com