分层架构-面向流程
什么是分层架构?
它是将整体系统拆分成 N 个层次,每个层次有独立的职责,多个层次协同提供完整的功能。
常见的分层架构有哪些?
MVC、TCP/IP协议栈、Linux系统
分层架构核心是什么?
保证隔层之间边界明显,层与层之间依赖稳定,支撑快速扩展。
分层架构的优缺点是什么?
优点:
- 强制约束,代码规范
- 简化系统设计,专注某一层次事情
- 方便复用。底层能被多个业务上层复用,可以参考云开发网关架构设计
- 便于横向扩展。比如说,业务逻辑里面包含有比较复杂的计算,导致 CPU 成为性能的瓶颈,那这样就可以把逻辑层单独抽取出来独立部署,然后只对逻辑层来做扩展,这相比于针对整体系统扩展所付出的代价就要小得多了。
缺点:
SOA-面向服务
SOA 有 3 个关键概念:
- 服务:所有业务功能都是服务,可以对外提供
- ESB(企业服务总线):类似于计算机总线,用于将各个系统“串”在一起