9. 关于常用软件架构梳理单体架构:未做任何拆分的Java Web程序以及SpringBoot项目都应该归类于单体架构SOA架构:SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务微服务架构微服务架构在某种程度上是SOA架构的进一步的发展。微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值 。服务之间采用轻量级的通信机制互相沟通(通常是基于 HTTP 的 RESTful API ) 。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。目前最流行 的两种微服务解决方案是SpringCloud和Dubbo。分布式架构: 按照业务垂直划分,每个业务都是单体架构,通过API互相调用。例如: 基于SOA架构, 基于RPC框架(例如Dubbo)的项目,以及基于SpringCloud Netflix, SpringCloud Alibaba框架的项目