微服务(Micro-Service)

Martin fowler:

微服务是一种架构风格,认为一个应用应该是小服务的组合。可以通过Http方式进行互通

在介绍微服务之前,我们首先引入单体应用

一个单体应用的传统web应用架构如下:

微服务(Micro-Service)

这种开发模式有其优点,在开发、测试、部署、扩展方面有其方便之处。

但缺点是牵一发而动全身。

具体说来,一个单体应用程序是把所有的功能放在一个单一进程之中,并且通过在多个服务器上复制这个单体进行扩展;而一个微服务架构是把每一个功能元素放进一个独立的服务中,并且通过跨服务器分发这些服务进行扩展,且只有在需要时才进行复制。

微服务(Micro-Service)