什么是微服务呢?没有一个明确的定义,更多的说法是微服务是一种架构风格,相对于单体架构和SOA架构而言,将系统围绕业务领域进行构建,服务间使用轻量级接口通信,各业务领域服务可独立部署,可独立数据存储,可使用不同的技术栈。
而Spring Boot的文档中没有提到“微服务”这几个字,前篇文章中的问题什么是Spring Boot?提到:Spring Boot的即是将基于Spring的应用程序运行起来的工具。Spring Boot一直在竭力做的事情是:
- 如何将基于Spring的应用程序快速跑起来?
- 如何自动配置或者约定配置?
- 如何轻松集成各种组件?
那至于应用程序是运行在独立主机还是虚拟机,是采用微服务架构还是单体架构,并不是它关心的事情。
只不过恰好在采用微服务架构时,通常需要构建Restful服务,而Spring MVC是Java技术栈中构建Restful服务的不错选择,而Spring Boot为Spring MVC提供了自动配置的功能,可快速构建一个构建Restful服务。仅此而已。
微服务