每个微服务应该在自己的进程中运行吗?

时间:2016-12-12 04:12:21

标签: deployment soa microservices

假设我已将单片应用程序分成5个微服务。

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

1 个答案:

答案 0 :(得分:3)

选择使用微服务架构的目的是通过服务的独立性实现可扩展性和灵活性。以下是good article on the matter, you might find interesting的摘录。它是一个非常可靠的来源--SmartBear(SOAPUI的创建者):

  

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

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