微服务与 N 层应用的设计与开发
1. 现代应用设计的转变
如今,以服务形式构建的现代软件正促使应用设计方式发生转变。以往借助 Web 框架调用服务并生成网页的方式,如今已被通过使用和生成 API 来构建应用所取代。在业务应用的开发和部署方面,变化显著,有些是彻底的变革,有些则是对过去设计方法的修订或扩展。目前存在多种架构设计方法,可根据为企业、Web 或云构建的应用来区分。
在过去几年的开发趋势中,微服务架构(MSA)等术语频繁出现。微服务架构风格的迅速崛起,无疑是当今开发部署领域中不可忽视的力量。开发方向已从单体架构逐渐转向 N 层应用和微服务,但其中有多少是炒作,又有多少是切实可行的呢?
2. 应用架构概述
在深入探讨故障排除之前,有必要对现代应用以及 N 层和微服务架构风格进行基本的背景概述。了解这些架构风格的优缺点,有助于规划潜在的故障排除领域,并避免相关问题。容器非常适合这两种架构方法,下面将分别进行讨论。
现代应用主要由异步消息流或同步请求调用(或两者兼有)构成,这些调用形成了通过连接关联的组件或服务集合。参与的服务高度分布在不同的机器和各种云(私有云、公共云和混合云)中。
对于架构风格,这里不进行过多关于微服务与面向服务架构(SOA)的比较和详细讨论,而是着重介绍实现这种架构方法的主要考虑因素以及为现代应用带来的好处。用例仍然驱动和决定着架构方法,因此对所有主要的架构风格(单体、N 层和微服务)进行一定程度的比较分析是有价值的。
3. 单体架构
单体架构本质上是一个包含所有服务和依赖项的部署单元,具有易于开发、测试、部署和初始扩展的优点。然而,这种风格无法满
超级会员免费看
订阅专栏 解锁全文

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



