Last updated
Last updated
Martin Fowler
⼀种架构⻛格,将单体应⽤划分成⼀组⼩的服务,服务之间相互协作,实现业务功能
每个服务运⾏在独⽴的进程中,服务间采⽤轻量级的通信机制协作(通常是HTTP/ JSON)
每个服务围绕业务能⼒进⾏构建,并且能够通过⾃动化机制独⽴地部署
很少有集中式的服务管理,每个服务可以使⽤不同的语⾔开发,使⽤不同的存储技术
Adrian Cockcroft
Loosely coupled service oriented architecture with bounded context 基于有界上下⽂的,松散耦合的⾯向服务的架构
Source:
Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.
设计系统的组织,其产⽣的架构设计等价于组织间的沟通结构
利
弊
强模块化边界
分布式系统复杂性
可独⽴部署
最终⼀致性
技术多样性
运维复杂性
测试复杂性