通过前两节介绍的《Docker 介绍及实战》 和《Docker 镜像详解》,我们已经了解并上手了容器技术。容器改变了我们对软件的认识,站在 Docker 的角度,软件就是容器的组合,而容器又是微服务的最佳载体,一台计算机同时运行多个容器,从而就能很轻松地模拟出复杂的微服务架构,这一节我们就谈谈微服务技术。
什么是微服务
一句话概括:微服务就是一些协同工作的小而自治的服务。
什么是微服务架构
提到架构,就感觉要装逼了,简单说下什么是架构:
架构就是整体与组件的抽象描述。架构的本质是通过抽象、分层、分治、和演化思维来解决复杂问题。
那么,什么是微服务架构呢?
微服务架构是对多个微服务的组织方式,以及服务之间通信、协同、管理等流程的描述。
如下图所示,一个很简单的微服务架构:
微服务解决什么问题
任何一种技术都是为了解决某些问题而出现的。
下面我们谈谈微服务的出现是为了解决哪些问题:
首先微服务是相对传统单体应用的,那么传统单体应用有哪些让人苦恼的烦心事:
1. 复杂度逐渐变高
随着代码量的增多,代码越来越臃肿,各个模块之间的区别比较模糊,逻辑变得混乱,复杂度逐渐变 高。
2.技术债务上升
维护代码的人比较多,人员流动遗留下来的坑也多,导