如果我构建了一个基于微服务的Web应用程序,在不同的服务器上运行docker容器有什么好处吗?当我说服务器时,我的意思是每个服务器都有自己的操作系统,内核等等。
一个明显的好处是,如果该机器出现故障,它不会取消所有服务,但除此之外还有哪些好处?
此外,Elastic Beanstalk ALREADY会这样做吗?或者它只是将容器部署在共享内核的单个机器上(类似于本地机器上的Docker)。
答案 0 :(得分:1)
您正在谈论群集解决方案。这是在多个节点(主机)上运行您的服务。
优点是高可用性(无单点故障)和可扩展性;您可以将负载分散到多个节点,并且可以根据需要增加/减少节点数以适应使用情况。在设计应用程序时,所有这些都需要注意。
如今,所有主要云提供商都拥有涵盖群集的专有技术。您可以使用AWS的Elastic Beanstalk创建基于Docker容器的集群解决方案作为构建块。但是,您可以使用AWS的技术锁定自己。我更愿意完全依赖开源技术(例如:Docker Swarm,Kubernetes)进行集群,以便我可以部署到本地数据中心和不同的云解决方案(AWS,Azure,GCP)。