我有一个在 AWS EC2 上运行的应用程序。为了获得高可用性,我们计划设置 AWS 负载均衡器并将应用程序托管在至少 2 个 EC2 实例中。
我们还听说过 Docker swarm,其中我们可以在 2 个单独的 EC2 实例上创建一个具有 2 个管理器的服务,而 swarm 将负责其余的工作(而不是使用带有 2 个 EC2 的 ALB)。它将平衡集群内所有容器的负载,并且如果有任何事情导致容器停止运行,它还会重新启动容器。
所以我想知道哪个是我的案例的最佳选择。该应用程序不会得到繁重的负载/流量。为什么我选择负载均衡器是为了高可用性。如果 1 个实例出现故障,另一个实例将处理此问题。
如果还有其他选择可以满足我的要求,我们将不胜感激。
谢谢。
最佳答案
我认为这是一个无状态的应用程序。
Swarm 和 ALB 的组合是您可以选择的,但您迟早需要合并自动缩放等,这意味着您需要管理和维护 swarm 集群。
使用 ALB,您将获得真正好的指标,而使用 Swarm 时您肯定会错过这些指标。
但是,您确实有一些更好的选择可以为您管理集群。您只需要管理和维护 docker 镜像 -
us-east-1
中,就像现在一样)引用 -
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/
关于amazon-web-services - AWS ALB 与 Docker 群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940099/