2

我有一个在 AWS EC2 上运行的应用程序。为了获得高可用性,我们计划设置 AWS 负载均衡器并将应用程序托管在至少 2 个 EC2 实例中。

我们还听说过 Docker swarm,其中我们可以在 2 个单独的 EC2 实例上创建一个具有 2 个管理器的服务,并且 swarm 将处理其余的(而不是使用带有 2 个 EC2 的 ALB)。它将平衡集群内所有容器的负载,并且如果有任何事情导致容器停止运行,它还会重新启动容器。

所以我想知道哪个是我的案例的最佳选择。该应用程序不会得到繁重的负载/流量。为什么我选择负载均衡器是为了高可用性。如果 1 个实例出现故障,另一个实例将处理此问题。

如果还有其他选择可以满足我的要求,我们将不胜感激。谢谢。

4

1 回答 1

1

我认为这是一个无状态的应用程序。

Swarm 和 ALB 的组合是您可以选择的,但您迟早需要合并自动缩放等,这意味着您需要管理和维护 swarm 集群。使用 ALB,您将获得真正好的指标,而使用 Swarm 时您肯定会错过这些指标。

但是,您确实有一些更好的选择可以为您管理集群。您只需要管理和维护 docker 映像 -

  1. 使用 ECS。
  2. 使用 EKS(仅在us-east-1现在)
  3. 使用 ElasticBeanstalk 多容器。

参考 -
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_ecs.html https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html https://aws。 amazon.com/eks/

于 2018-10-23T02:41:30.707 回答