【问题标题】:How to setup ReactJs, NodeJs, Redis application on AWS如何在 AWS 上设置 ReactJs、NodeJs、Redis 应用程序
【发布时间】:2019-11-05 00:15:10
【问题描述】:

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

React 用于前端,Nodejs 用于 API,Mongodb 用于数据库,redis 用于会话存储。

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

在未来不停机的情况下扩展和更新哪个更好?

【问题讨论】:

    标签: amazon-web-services docker amazon-ec2 aws-lambda


    【解决方案1】:

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

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

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

    在基于 nodejs 的应用程序中,这种方法对 Redis 和 mongo 没有多大帮助,如果您计划集群和副本,那么这些应用程序也需要持久存储,因此将在每个实例上保留存储,所以我的建议是将 redis 和 mongo DB 保持在守护程序模式,将应用程序保持在副本模式,因为这些应用程序将执行蓝绿部署,而不是 redis 或 Db。

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

    复制品——

    副本调度策略放置并维护所需的 集群中的任务数。默认情况下,服务调度程序 跨可用区分布任务。您可以使用任务放置 自定义任务放置决策的策略和约束。为了 更多信息,请参阅副本。

    守护进程——

    守护进程调度策略在每个活跃的 满足所有任务放置约束的容器实例 您在集群中指定的。使用此策略时,有 无需指定所需的任务数量,任务放置 策略,或使用 Service Auto Scaling 策略。欲了解更多信息

    ecs_services

    【讨论】:

    • 非常感谢 Adiii
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 2020-11-12
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 2020-01-28
    • 2021-11-17
    相关资源
    最近更新 更多