Deployment 每个微服务是否应该在自己的流程中运行?

Deployment 每个微服务是否应该在自己的流程中运行?,deployment,soa,microservices,Deployment,Soa,Microservices,假设我已将我的单片应用程序分离为5个微服务 现在,我需要在5个进程中运行这5个微服务,还是可以在一个进程中运行所有5个微服务?为什么?选择使用微服务架构的真正目的是通过服务的独立性实现可伸缩性和灵活性。这是一篇文章的摘录。这是一个非常可靠的消息来源——SmartBear(SOAPUI的创建者): 虽然没有标准的、正式的微服务定义,但是 是帮助我们识别风格的某些特征。 从本质上讲,微服务体系结构是一种开发方法 软件应用程序作为一套可独立部署的小型, 模块化服务,其中每个服务运行一个唯一的进程和 通

假设我已将我的单片应用程序分离为5个微服务


现在,我需要在5个进程中运行这5个微服务,还是可以在一个进程中运行所有5个微服务?为什么?

选择使用微服务架构的真正目的是通过服务的独立性实现可伸缩性和灵活性。这是一篇文章的摘录。这是一个非常可靠的消息来源——SmartBear(SOAPUI的创建者):

虽然没有标准的、正式的微服务定义,但是 是帮助我们识别风格的某些特征。 从本质上讲,微服务体系结构是一种开发方法 软件应用程序作为一套可独立部署的小型, 模块化服务,其中每个服务运行一个唯一的进程和 通过定义良好的轻量级机制进行通信,以服务于 商业目标


因此,是的,您绝对应该将部署作为单独的流程。这样你会更加灵活。例如,在一个进程中运行所有5个服务可能会导致无法在不停止所有其他服务的情况下热交换单个微服务的新版本(即使它们可能不是所有服务之间的逻辑相互依赖)。

您能否详细说明“进程”在这种情况下的含义?它更像是一个概念性的东西(如业务流程)还是物理的东西(如线程或其他东西)?提前谢谢@dzenesiz IIRC,这里问题的上下文,以及答案,是关于执行实例(物理)中的流程,而不是业务流程的意义。但是从逻辑上讲,对于微服务,您仍然应该以一种方式拥有它们,即每个微服务都围绕着它自己的一组独立的相关功能或域中的上下文。微服务的理念是让它们以一种合乎逻辑的方式设计,而不是仅仅因为你可以,就做数百个。我希望这有帮助,帮助很大。感谢您花时间澄清。