为什么不建议在单个虚拟机上部署多个微服务?

时间:2018-10-09 07:09:05

标签: containers virtual-machine microservices

为什么总是建议为每个虚拟机/容器部署一个微服务?

为什么我们不能在单个虚拟机上部署所有微服务?

示例:我们可以轻松地将Apache Tomcat上的多个应用程序托管在一台计算机上

2 个答案:

答案 0 :(得分:0)

好的,首先要提出一个建议,而不是直接建议。您将需要根据自己的特定需求拨打电话。

微服务体系结构最重要的需求之一就是服务需要独立扩展。许多人包括微服务的Martin Fowler wrote about the characteristics。当您将多个服务部署到一个VM时,这很困难。同样,同一虚拟机将限制应该完全拥有服务所有权的团队的自治权。

答案 1 :(得分:0)

与困难无关,而与可用性有关。换句话说,如果您具有多个不同类型的微服务,并将所有微服务部署在单个VM中,并且VM崩溃,则会丢失所有微服务。

此外,将所有服务部署在同一VM上无法达到使用微服务弹性扩展不同服务的目的,其中一些服务可能比其他服务承受更高的负载。例如,如果您有两个服务A和B,其中服务B接收的流量明显多于A,则B将占用所有资源。您可能潜在地希望将B部署在较大的服务器或它自己的服务器上,以适应负载,而级联服务A的性能中断很少。