微服务架构
全称:微服务架构(Microservice Architecture)
Martin Fowler的定义:
微服务架构是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务之间采用轻量级的通信机制(通常是基于HTTP的 Restful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署在生产环境、预发布环境、生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体一个服务而言,应根据应用上下文,选择合适的语言、工具对其进行构建。
特征:
- 由一组小的服务组成一个完整的应用
- 每个服务围绕一个相对独立的应用领域(领域模型)构建
- 服务之间通过轻量级的通信机制沟通
- 完全去中心化
- 每个服务可以独立部署
- 每个服务可以采用不同的编程语言实现