微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。
微服务是由业务驱动的,这就意味着业务规划的好坏会直接影响系统架构的好坏,糟糕的系统架构还将拖业务的后腿,甚至进入恶性循环。
设计系统的架构受制于产生这些设计的组织的沟通结构。微服务是技术让代码更适应业务发展的产物,是业务驱动下的产物。
SpringCloud的架构图
Spring Cloud 微服务总体架构图