如何在AWS上设置ReactJ,NodeJ,Redis应用程序

我是AWS的新手,对部署完全感到困惑。我在这里

对前端起作用,对API使用Nodejs,对数据库使用Mongodb,对会话存储使用Redis。

  1. 我可以为每项服务使用1个EC2吗?或
  2. 将每个服务划分为不同的EC2
  3. 我可以使用Elastic Beanstalk环境吗?

哪种是在将来不停机的情况下进行扩展和更新的更好选择?

wurui126 回答:如何在AWS上设置ReactJ,NodeJ,Redis应用程序

  

我可以为每个服务使用1个EC2吗?

这取决于您的情况,但是最好的方法是利用基础EC2实例是在单个EC2上为nodejs和前端应用程序运行多个服务,因为在这种情况下,基于nodejs容器的应用程序会发挥最大的优势。在这种情况下,ECS blue-green deployment和容器的dynamic port可以帮助在零停机时间内进行扩展。

  

将每个服务划分为不同的EC2

在基于Node.js的应用程序中,此方法对Redis和mongo的使用无济于事,如果您打算进行群集和复制,则这些方法也很有意义,而且这些应用程序需要持久存储,因此将在每个实例上保持存储,所以我的建议是将redis和mongo DB保持在守护程序模式,将应用程序保持在副本模式,因为这些应用程序将进行蓝绿色部署,而不是redis或Db。

AWS提供了两种类型的任务来处理此类情况

REPLICA —

  

副本计划策略放置并维护所需的副本   整个集群中的任务数。默认情况下,服务调度程序   将任务分散在可用区中。您可以使用任务放置   定制任务放置决策的策略和约束。对于   详细信息,请参阅副本。

DAEMON-

  

守护程序调度策略在每个活动服务器上仅部署一个任务   满足所有任务放置约束的容器实例   您在集群中指定的内容。使用这种策略时,   无需指定所需的任务数,任务位置   策略,或使用服务自动扩展策略。有关更多信息

ecs_services

本文链接:https://www.f2er.com/3165514.html

大家都在问