【问题标题】:AWS ALB vs Docker swarmAWS ALB 与 Docker 群
【发布时间】:2018-10-23 10:41:30
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: amazon-web-services docker amazon-ec2 docker-swarm aws-alb


    【解决方案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/

    【讨论】:

    • 通过 docker 的路由网格功能,它会负责负载平衡,对吧?如果我们使用 Docker swarm,我正在考虑避免 ALB。
    • 是的,但您将如何在 DNS 级别进行管理。如果实例在内核级别等崩溃了怎么办。使用 ALB,您可以监控运行状况并帮助您管理 DNS,而无需进行太多更改。我建议至少在产品中使用 ALB。此外,您可以在 ALB 中设置许多配置,但在 docker swarm VIP 负载平衡中可能无法设置。
    猜你喜欢
    • 1970-01-01
    • 2021-09-14
    • 2018-12-12
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2017-05-26
    相关资源
    最近更新 更多