帆应用程序在AWS上有多个实例- Redis/Elasticache/ALB



我正在构建一个使用套接字的Sails应用程序。

http://sailsjs.org/documentation/concepts/realtime/multi-server-environments

因为我将把应用程序放在AWS上,最好使用ELB(弹性负载平衡器)和具有多个EC2实例的自动伸缩组,我想知道我如何处理,所以它不需要单独的redis实例?

也许我们可以使用AWS Elasticache?如果是这样,该怎么做呢?

现在AWS已经发布了新的ALB应用程序负载均衡器,它有websockets,可以用来帮助简化事情吗?

Thanks in advance

应用中用例的更新

  1. 允许最终用户从他们自己的仪表板动态更新数据并向管理员实时显示分析/统计

  2. 应用程序状态'根据特定时间变化,例如。在一个给定开始日期/时间,应用程序允许用户更新数据。

关于你的第一个问题,你不想在相同的服务器上运行Redis,帆正在运行,特别是如果你正在使用自动缩放。Redis服务器需要是一个独立的服务器,它不会在你的环境经历"scale-in"事件时消失。所以Redis必须在一个单独的"服务器"上。

ElastiCache只是单独的EC2实例,运行Redis,其中AWS为您处理大部分管理,以至于您甚至无法SSH到实例。这与RDS的工作原理类似。ElastiCache当然适合您的场景。你可能还想看看第三方服务RedisLabs,它也为你管理AWS上的Redis实例。

关于你的第二个问题,应用程序负载均衡器将对你的Redis使用没有影响。然而,它将带来对WebSockets的实际支持,听起来你正在使用。所以,是的,你应该使用ALB而不是ELB。

最新更新