微服务小知识 | 青训营笔记

90 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记。

1 什么是微服务

微服务是一种用于构建应用的架构方案。微服务架构有别于传统的单体式架构,他将应用拆分为多个核心功能。每个功能都被称为一项服务,这些服务可以被单独构建和部署。这意味着,各项服务在工作时或者出现故障时不会相互影响。

比如,在购物时的情景,当把某个商品加入购物车,这个购物车功能就是一项服务。商品评论是一项服务,商品库存也是一项服务。

2 微服务出现背景

微服务的出现是因为单体应用架构已经无法满足当前互联网产品的技术需求。 在微服务架构之前还有一个概念:SOA(面向服务的体系架构)。从某种程度上来说,SOA只是一个架构模型的方法论,并不是一个明确而严谨的架构标准。SOA已经提出了面向服务的架构思想,所以严格意义上说,其实微服务应该算是SOA的一种演进。

微服务需要满足以下两点

  • 单一职责:一个微服务应该是具有单一职责的,这才是“微”的体现。一般来说,一个微服务用来解决一个业务问题,尽量保持其独立性。
  • 面向服务:将自己的业务能力封装并对外提供服务,这是继承SOA的核心思想。一个微服务本身也可能具有使用其他微服务的能力

一般满足以上两点就可以认为其实一个微服务。微服务架构和单体应用架构十分不同: (1)微服务架构中的每个服务都单独运行,要避免与其他方业务员的耦合关系 (2)微服务架构中的每个服务都要能够自主--在其他服务发生错误时不受干扰