加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

什么是软件堆栈?

发布时间:2022-12-12 16:35:26 所属栏目:大数据 来源:互联网
导读: 开发人员应该了解软件堆栈,使他们能够选择合适的堆栈来开发他们的应用程序。
从表面上看,应用程序可能看起来很简单,因为它旨在解决最终用户的问题。然而,在底层,一组称为软件堆栈的组

开发人员应该了解软件堆栈,使他们能够选择合适的堆栈来开发他们的应用程序。

从表面上看,应用程序可能看起来很简单,因为它旨在解决最终用户的问题。然而,在底层,一组称为软件堆栈的组件在应用程序的工作方式中起着至关重要的作用。

作为开发人员,您必须了解软件堆栈。本文将涵盖“什么是软件堆栈?” 及其不同的层次。我们还将介绍流行的软件堆栈,以便您了解为您的应用程序开发选择哪个软件堆栈。让我们开始吧。

什么是软件堆栈?软件堆栈是应用程序运行所需的程序或组件的集合。它类似于Network 的 OSI 模型,它包含七层,每一层协作在互联网上传输数据。软件堆栈也不例外。在这里,每个组件在应用程序执行中都起着至关重要的作用。

在大多数情况下,软件堆栈 包含以下组件:

操作系统

协议

架构层

数据库和函数调用

运行环境

这些组件相互堆叠,较低级别的组件管理硬件交互。另一方面,更高级别的组件处理最终用户的服务和任务。此外,堆栈中的每个组件都可以协同工作以跨堆栈执行简单或复杂的任务。

软件堆栈

软件堆栈的复杂性取决于应用程序的功能。这意味着它可以包括来自云提供商/SaaS 供应商的组织的自定义本地资源或服务/解决方案。

软件堆栈的可定制性意味着没有固定的标准或方法。但是,软件堆栈旨在为应用程序开发、操作、交付和维护提供必要的功能集。软件堆栈可以简单到由操作系统、编程语言工具、数据库和应用程序组成,也可以通过添加更多组件(如计算、网络、用户界面、虚拟化和抽象物理资源)而变得复杂。

不同的软件堆栈层由于每个组件都有不同的功能需要满足,因此软件堆栈可以大致分为三层。

表示层: 表示层处理通过基于 Web 的应用程序门户或网站访问的用户界面。

逻辑层: 逻辑层负责两个重要任务:

使用业务规则和应用程序逻辑满足应用程序请求。

在表示层和数据层之间传输数据。

数据层:最后,我们有一个处理应用程序服务器端方面的数据层。它将信息传递给逻辑层,然后根据应用程序和业务规则进行计算,然后再将其发送到表示层。

您可以对每一层使用不同的技术来实现其预期目标。例如,表示层需要 HTML5、CSS和 JavaScript等前端技术。同样,数据层也可以选择MongoDB、MySQL等数据库技术。至于逻辑层,可以选择Python、Java、C#等编程语言进行编码。

开发人员不必专注于应用程序开发的各个方面。任何应用程序开发主要分为两个组件:后端和前端。一些开发人员专注于后端开发,而另一些则专注于前端开发。但是,全栈开发人员可以两者兼得。您可以将应用程序的前端视为表示层。它侧重于用户体验和界面,需要使用前端技术进行开发。后端开发人员创建逻辑层,该层使用后端编程语言和工具与表示层交互。

流行的软件堆栈市场上有许多成熟的软件堆栈。一些受欢迎的包括:

MEAN and MEVN

MEAN 代表 MongoDB、Express、Angular 和 Node.js。它是一个现代 Web 开发堆栈。它是独一无二的,因为它不依赖于任何操作系统,这要归功于 Node.js,一个服务器端脚本平台。其他组件包括MongoDB、NoSQL 文档数据库和用于前端开发的 Angular.JS。这里,Express.JS 是 Node.js 的 Web 框架。

MEVN

MEVN 是 MEAN 的流行替代品。在这里,Vue.js 是一个轻量级、简约的 JavaScript 框架,它取代了 Angular.js。由于其简约的方法,MEVN 是高度可定制的,但依赖于由其社区开发和管理的第三方插件。

堆栈数据的进出原则是_大数据堆栈_大数据堆栈什么意思

LAMP

LAMP是最古老和最著名的 Web 开发堆栈之一。LAMP 组件包括 Linux、Apache、MySQL 和 PHP。它是一个开源堆栈,可为您提供创建和管理 Web 应用程序的所有工具。Linux 是以 Apache 为服务器的操作系统。对于数据库,该堆栈实现 MySQL,一种流行的数据库解决方案。最后,我们有 Python、Perl 或 PHP 作为编写脚本的编程语言。LAMP 堆栈组件相互补充,因此是松散耦合的。

Apache CloudStack

Apache CloudStack,一个开源云管理企业堆栈。它为企业提供实施和管理基础架构即服务 (IaaS)。CloudStack 包括管理程序、API 和最佳服务层。

还有许多其他流行的软件堆栈,包括:

BCHS: OpenBSD 操作系统、C 编程语言、httpd 网络服务器和 SQLite 数据库。

LLMP: Linux 操作系统、Lighttpd Web 服务器、MariaDB 或 MySQL 数据库管理、PHP/Perl/Python 编程语言

MAMP: Mac OS X 操作系统、Apache Web 服务器、MariaDB 或 MySQL 数据库,以及 Python/Perl/PHP 编程语言。

软件堆栈与技术堆栈技术堆栈覆盖的范围比软件堆栈更大,因为它包括信息技术 (IT) 生态系统中的硬件和软件组件。这意味着技术堆栈包括部署和管理应用程序所需的所有内容。技术堆栈可以包括:

贮存

联网

中间件

数据库

硬件

软件组件

组织可以使用不同的技术堆栈来管理和部署应用程序。

存储堆栈:服务器堆栈包括数据库软件、运行时环境和 Web 服务软件。

云基础设施堆栈:云基础设施堆栈是最灵活的大数据堆栈,因为它支持通过附加组件添加更多功能,例如安全、监控、分析等。在其核心,云基础设施 slack 由一个平台和抽象的基础设施、服务和应用程序组成。

服务器堆栈: 另一方面,存储堆栈包括使用服务器软件在服务器上运行的虚拟化和网络组件。

营销堆栈: 营销堆栈由内容营销系统(CMS)、客户关系管理软件(CRM)、跟踪解决方案、分析解决方案和电子邮件平台组成。

经常问的问题?

问:软件堆栈是否可定制?

答: 软件堆栈旨在为开发人员开发、交付和操作应用程序提供必要的功能集。它是可定制的,可以简单也可以复杂。

问:核心软件堆栈组件是什么?

答: 尽管软件堆栈是可定制的,但它确实具有核心组件。它包括数据库、编程语言支持工具、操作系统和应用程序。

问:什么是单一软件堆栈?

答:单一软件堆栈由单一供应商开发和管理。这意味着软件堆栈是生态系统的一部分,提供效率但不灵活。

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!