socket.io - 昂贵的 aws 负载均衡器,可能设置错误
问题描述
前段时间,我的 express 网络服务器需要 HTTPS 支持。我找到了一个教程,教我一个很酷的技巧来实现这一点。他们基本上向我解释了 AWS 负载均衡器可以将 HTTPS 重定向到 HTTP。
所以,我首先创建了一个负载均衡器。
然后将 HTTPS 重定向到 HTTP。传统的 HTTP,我只是将 80 重定向到 80。我在 1337 端口上有一个 websocket(socket io)的东西(我计划在不久的将来将其更改为 1338 端口)。
只是为了清楚。我真的不需要负载均衡器,因为我实际上只有 1 个 AWS 实例。但是使用此设置,我不必费心处理 HTTPS 证书文件,也不必升级我的网络服务器。起初它为我省去了很多麻烦。
然后今天早上,我收到了账单,发现这个负载均衡技巧的价格大约是 22 美元/月。(一个昂贵的端口转发技巧)
我可能不得不摆脱这个负载平衡器。但我想知道,也许我在配置中做错了什么。
奇怪的是,一个仍在开发中的网络应用程序收费如此之高。所以,我想知道我的设置是否有问题。这让我想到了以下问题。
我注意到我实际上使用的是旧的 ELB 设置:“经典负载均衡器”。它实际上声明此设置不支持 websockets,这有点奇怪。
我的网络应用程序托管一些静态网页(角度),但是一旦下载,所有流量都使用 socket.io websockets。尽管 AWS 文档说不支持 websocket,但它似乎工作正常。除非 ...
现在,socket io 是一个非常聪明的东西。当它不能使用现代 websockets 时(例如,因为 webbrowser 不支持它),它会退回到一种HTTP polling。我想这意味着从负载均衡器的角度来看,它每分钟创建 100 次访问。现在,我想知道这是否对指控有影响。
我真的很长的问题归结为一个简单的问题。你认为升级我的负载均衡器会减少“负载均衡器小时”的计数吗?
编辑
以下是一些 ELB 指标。它们太复杂了,我无法得出结论。但也许你们中的一些专家可以。:)