版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
单体架构
所谓单体架构,即表示一个 JAR、WAR 包中包含所有功能的应用程序,包含整个系统的业务功能。
互联网早期一般是单体架构。
单体架构存在的问题
- 扩展能力受限,单体架构只能整体扩展,不能根据业务模块的需要进行伸缩。
- 技术更新很难,单体架构,往往采用统一的技术方案。例如要么都使用 SpringMVC 要么使用 Structs 2
什么是 SOA 架构
SOA(Service-oriented architecture) 架构是一种粗粒度的,松耦合服务架构,服务间通过简单、精确的定义接口进行通讯,不涉及底层的编程接口和通讯模型。是面向服务的架构。 ESB(enterprise service bus) 是企业服务总线的缩写, SOA 是面向服务架构。
架构模型
- SOA有ESB总线
- 各个服务共享存储
- 由于有统一的ESB管理后才能对外提供整体的服务,部署需要统一进行
核心要素
MSA (Micro-Service architecture) 微服务架构
架构模型
- 没有总线
- 提供服务的方式更扁平
- 各自管理各自的数据存储
微服务特别适合领域模型(DDD)
微服务有什么优缺点
微服务的优点:
- 易于开发和维护, 局部修改容易部署
- 技术不受限
- 支持伸缩
微服务的缺点:
- 分布式固有的复杂性
- 运维成本高
- 接口调整成本高
微服务于 SOA 架构区别
参考资料: