AWS ALB 与 Docker 群

AWS ALB vs Docker swarm

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

我们还听说了 Docker swarm,我们可以在 2 个独立的 EC2 实例上创建一个具有 2 个管理器的服务,swarm 将负责其余部分(而不是将 ALB 与 2 个 EC2 一起使用)。它将平衡集群内所有容器的负载,如果有任何问题导致容器崩溃,它还会重新启动容器。

所以我想知道哪个是最适合我的情况的选择。该应用程序不会变重 load/traffic。我为什么选择负载均衡器是为了高可用性。如果 1 个实例出现故障,另一个实例将得到处理。

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

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

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

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

  1. 使用云服务器。
  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/