TIP
软件架构学习笔记
对于开发人员来说,在没有正式架构的情况下开始编写应用程序是很常见的。但是对于一个长期迭代的项目来说,如果没有清晰且定义明确的架构,应用程序最终会演变成一堆杂乱无章的源代码模块,这些模块缺乏明确的角色、职责和相互之间的关系。
一个好的架构模式将会定义应用程序的基本特征和行为。比如应用是否可扩展,性能特点如何,是否可以方便的对应用进行更改,是否可以容易的进行部署等。
不同的架构模式有着不同的特点,比如有的架构模式适合高度可扩展的应用程序,有的架构模式适合高度敏捷的应用程序等。了解每种架构模式的特征、优势和劣势对于选择满足特定业务需求和目标的架构模式是必要的。
本系列会详细介绍集中常见的软件架构模式,并分析他们的优缺点。
1.分层架构模式
分层架构模式是最常见的架构模式。这种模式是大多数 Java EE 应用程序的事实标准。分层架构模式与大多数公司中组织结构紧密匹配,使其成为大多数业务应用程序开发工作的自然选择。
2.事件驱动架构模式
事件驱动架构模式是常见的分布式异步架构模式,通常被用来创建具备高扩展性的应用。事件驱动架构由高度解耦、单一用途的事件处理器组成,这些组件异步接收和处理事件。
3.微内核架构模式
微内核架构模式(有时也称为插件架构模式)通常被应用于实现基于产品的应用程序。该模式允许我们将附加的应用程序功能作为插件添加到核心应用程序中,提供可扩展性以及额外的功能。
4.微服务构模式
作为单体应用和面向服务架构模式的替代方案,微服务架构模式在业界迅速普及。本文介绍微服务架构的核心概念,以及选择该架构需要考虑的取舍问题。
5.基于空间的架构模式
基于空间的架构模式,也叫云架构模式,致力于解决高访问量、高并发问题的架构模式,尤其适用于流量动态变化的业务场景。
参考链接:https://www.oreilly.com/content/software-architecture-patterns/
关注微信公众号,获取最新推送~
加微信,深入交流~