我有一个在AWS EC2上运行的应用程序。为了获得高可用性,我们计划设置AWS Load Balancer并在至少2个EC2实例中托管应用程序。
我们还听说了Docker swarm,其中我们可以在2个单独的EC2实例上由2位管理者创建服务,而swarm将负责其余的工作(而不是将ALB与2个EC2一起使用)。它将平衡负载到群集内的所有容器,并且如果发生任何故障,还将重新启动容器。
所以我想知道哪种是我的案子的最佳选择。该应用程序不会增加负载/流量。为什么选择负载平衡器是为了实现高可用性。如果有1个实例发生故障,另一个实例将得到处理。
如果还有其他选择可以满足我的要求,将不胜感激。 谢谢。
答案 0 :(得分:1)
我认为这是一个无状态的应用程序。
可以同时使用Swarm和ALB的组合,但是迟早需要结合自动缩放等功能,这意味着您需要管理和维护集群。 使用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/