什么是app应用架构

app应用架构描述了设计和构建应用的模式与技术。该架构可以提供构建应用时应遵循的路线图和最佳实践,构建一个结构合理的应用。app应用架构包含前端和后端服务。前端开发事关应用的用户体验,而后端开发则侧重于提供对数据、服务及其他现有系统的访问,以确保应用正常工作。

一、什么是app应用架构

app应用架构描述了设计和构建应用的模式与技术。该架构可以提供构建应用时应遵循的路线图和最佳实践,构建一个结构合理的应用。app应用架构包含前端和后端服务。前端开发事关应用的用户体验,而后端开发则侧重于提供对数据、服务及其他现有系统的访问,以确保应用正常工作。

二、app应用架构分类

目前应用架构有很多,但根据服务间的关系,当今最重要的应用架构是:单体式和 N 层架构(紧密耦合)、微服务(非耦合),以及事件驱动架构和面向服务的架构(松散耦合)。

1、分层或 N 层架构

分层或 N 层架构是一种传统架构,通常用于构建内部和企业应用,而且常常与传统应用相关联。

在分层架构中,应用由多个层(通常为 3 层,但也可以有更多层)构成,且每一层都有自己的职责。

分层有助于管理依赖关系并执行逻辑功能。在分层架构中,层与层之间是水平排列的,因此它们只能调用自己下面的一层。

每层既可以调用紧挨在它下面的层,也可以调用它下面的任何一层。

2、单体式架构

单体式应用(另一种与传统系统关联的架构类型)就是一个应用中包含所有功能的应用堆栈。无论是服务之间的交互还是开发与交付方式,都采用紧密耦合的形式。

更新或扩展单体式应用的某一方面会对整个应用及其底层的基础架构产生影响。

对应用代码的任何更改都需要重新发布整个应用。因此,更新和新版本发布通常每年只能进行一次或两次,并且可能只包括常规维护,而不会添加新功能。

3、微服务架构

微服务既是一种架构,也是构建软件的方法。在微服务中,应用被拆分成最小的组件,彼此独立。其中的每一个组件或流程都是一个微服务。

微服务采用分布式、松散耦合结构,因此它们之间不会相互影响。这对于动态可扩展性和容错能力都有一定的好处:可以在不占用大量基础架构的情况下按需扩展单个服务,或者可以在不影响其他服务的情况下进行故障转移。

使用微服务架构的目的是更快地交付高质量的软件。您可以并行开发多个微服务。由于服务是独立部署的,因此在发生更改时无须重建或重新部署整个应用。

4、事件驱动架构

对于事件驱动系统而言,事件的捕获、通信、处理和持久保留是解决方案的核心结构。这和传统的请求驱动模型有很大不同。

事件是指系统硬件或软件的状态出现任何重大改变。而事件的来源可能是内部也可能是外部原因。

事件驱动架构可以最大程度减少耦合度,因此是现代化分布式应用架构的理想之选。

事件驱动架构可以基于发布/订阅模型或事件流模型。

5、面向服务的架构

面向服务的架构(SOA)是一种非常成熟的软件设计模式,它有点类似于微服务架构模式。

SOA 将应用构建为可重复使用的离散型服务,这些服务会通过企业服务总线(ESB)进行通信。

采用这种架构时,各项服务会分别围绕特定的业务流程进行组织,遵循相应的通信协议(如 SOAP、ActiveMQ 或 Apache Thrift),并通过 ESB 平台来提供服务。总而言之,前端应用会利用这套通过 ESB 集成的服务为企业或客户提供价值。

延伸阅读

Android适配

Android适配需要考虑屏幕尺寸、分辨率和像素密度等因素。一般来说,屏幕尺寸以英寸为单位,分辨率越高,像素密度越大。同时,根据用户选择的文本大小来调整大小。默认情况下,sp作为单位,但可根据用户的首选文本大小进行调整。

文章标题:什么是app应用架构,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/53782

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年6月3日
下一篇 2023年6月3日

相关推荐

  • 行程编程是什么

    行程编程是一种编程范式,它强调通过预定义的路径和条件来控制程序的执行流程。其核心思想可以概括为1、路径控制;2、条件判断; 其中,路径控制在行程编程中占据了中心地位。这不仅涉及到程序从起点到终点的执行轨迹,还包括在遇到特定条件时,程序能够通过预设的分支进行跳转,从而实现复杂逻辑的高效执行。这种方式让…

    2024年5月2日
    1100
  • 什么语言编程

    什么是编程语言? 编程语言是一种用于编写计算机程序的标准化交流技术,通过它,开发者可以向计算机发出指令、实现逻辑、管理数据交互等。1、它是实现与计算机沟通的桥梁;2、其种类繁多,包括低级语言如机器语言、汇编语言,以及高级语言如Python、Java、C++等;3、它们在不同领域内有各自的应用强项,比…

    2024年4月26日
    4200
  • 为什么发明编程

    为什么发明编程?主要有3个原因:简化复杂过程、提高效率、和创造创新解决方案。尤其值得注意的是,简化复杂过程代表了编程的一个核心价值。通过编程,复杂的计算和数据处理任务可以被自动化,从而允许人类将注意力集中在更具创造性和战略性的任务上。这不仅极大地提高了工作效率,同时也开启了新技术和应用的大门,进一步…

    2024年5月2日
    1100
  • 网络数据库编程学什么语言

    为了高效地进行网络数据库编程,1、Python、2、SQL、3、JavaScript这三种编程语言是必须掌握的。以Python为例,由于其简洁、高效的编程特性,成为了许多网络应用和数据库编程的首选语言。Python提供了广泛的数据库连接库,例如sqlite3和SQLAlchemy,可简化数据库操作流…

    2024年4月28日
    3300
  • 编程课都讲什么

    编程课的核心内容主要涵盖:1、编程基础知识 2、语言语法规则 3、开发工具的使用 4、实际编程练习。特别是编程基础知识,它为学生提供了理解计算机如何工作的基本框架,包括算法设计、数据结构、以及解决问题的逻辑思维。通过掌握基础,学生能够在后续的学习中更好的理解复杂概念,为编写高质量代码打下坚实基础。 …

    2024年5月2日
    900
  • 编程控制器有什么品牌

    编程控制器,通常被称为PLC(Programmable Logic Controller),是工业自动化领域中的关键组件。在众多品牌中,1、西门子(Siemens)、2、艾伦·布拉德利(Allen-Bradley)、3、施耐德电气(Schneider Electric)、4、三菱电机(Mitsubi…

    2024年4月28日
    2300
  • 项目如何能更有效管理工作

    项目管理工作的有效性可以通过明确目标、制定详尽计划、实施有效沟通、优化资源分配、采用敏捷方法论、进行风险管理、以及持续监控和评估。在这些要点中,明确目标尤为重要,它不仅为项目提供了方向和焦点,还帮助团队成员理解他们的工作如何贡献于整体目的。一个明确的目标应具体、可衡量,并且与项目的整体愿景和战略紧密…

    2024年4月11日
    7800
  • 什么是编程款

    编程款通常指软件开发中使用的编程范式、工具、环境和实践的集合。在软件工程中,它体现了代码的编写、设计、测试和维护方式。以客户端应用程序为例,一个典型的编程款可能将重点放在用户体验、性能优化、代码的可维护性上。针对这个方面,开发人员会使用专门的工具和库来创建一个既美观又快速响应的用户界面。 一、用户体…

    2024年5月2日
    1400
  • chsime是什么编程

    Chsime 是一种假想的编程语言,本文旨在探讨其设计理念及影响。关键特征包括 1、简洁语法设计、2、丰富的库支持 和 3、高效执行效率。其中,简洁语法设计 尤为突出,意在为开发者提供易于学习和使用的编程工具,旨在减少编码复杂性,提高开发效率。 一、简洁的语法设计 在Chsime的世界里,简洁的语法…

    2024年5月2日
    1100
  • 编程专业要学些什么东西

    在探讨编程专业的学习内容时,主要包括1、编程语言基础、2、算法与数据结构、3、软件开发方法、4、操作系统、5、数据库系统、6、网络基础、7、人工智能。这些领域共同构建了编程专业的核心知识体系。在这之中,算法与数据结构占据了至关重要的位置,它不仅是编程的基础,更是提高编程效率和问题解决能力的关键。算法…

    2024年4月27日
    3300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部