微服务与 N 层应用设计解析
1. 现代应用架构趋势
如今,以服务形式构建的现代软件正推动着应用设计方式的转变。不再依赖 Web 框架调用服务和生成网页,现代应用通过消费和生成 API 来构建。在业务应用的开发和部署方面,发生了诸多变化,不同架构设计方法适用于企业、Web 和云等不同场景。近年来,微服务架构(MSA)等术语盛行,它代表着一种将应用设计和开发为可独立部署服务套件的方式。微服务架构风格在当今开发部署中迅速崛起,促使架构从单体架构向 N 层应用和微服务架构转变,但其中有多少是炒作,又有多少是切实可行的呢?
2. 现代应用架构基础概念
在深入探讨之前,有必要了解现代应用以及 N 层和微服务架构风格的基本情况。现代应用主要由异步消息流或同步请求调用构成,参与的服务高度分布在不同机器和云环境中。对于架构风格,我们不过多比较微服务与面向服务架构(SOA)的差异,而是关注微服务架构的实施要点和对现代应用的益处。用例驱动着架构选择,因此对主流架构(单体、N 层和微服务)进行比较分析具有一定价值。
3. 单体架构
单体架构将所有服务和依赖封装在一个部署单元中,具有开发、测试、部署和初始扩展相对容易的优点。然而,它无法满足大多数现代企业应用(N 层)和大规模 Web 开发的需求,更不适合云部署的微服务应用。其存在以下问题:
- 变更耦合紧密 :任何小的更改都需要对整个单体进行重建和重新部署。
- 扩展困难 :随着应用成熟,扩展需要对整个应用进行,资源需求大且难以实现。
- 代码复杂 :代码量庞大且
超级会员免费看
订阅专栏 解锁全文
952

被折叠的 条评论
为什么被折叠?



