有人能定义一下“堆栈”到底是什么吗?我知道这是一个行业术语,但它非常模糊。我指的是基础设施术语,而不是内存分配方面的“堆栈”。
答案1
它指的是构成您的服务所使用的技术:您的 Web 应用程序语言/框架依赖于(堆叠在)您的 Web 服务器上,该服务器与特定数据库类型通信(堆叠在)特定数据库类型,并且这些在特定操作系统上运行(堆叠在)特定操作系统上。因此,您可能拥有如下堆栈:
磷PHP
米MySQL
A阿帕奇
大号Linux
组成 LAMP 堆栈,或者像这样:
CC#
年代SQL 服务器
我 互联网信息服务
西视窗
组成 WISC(Windows)堆栈。其他常见的“堆栈”是 WIMP(Windows、IIS、MySql、PHP)和 WAMP(Windows、Apache、MySQL、PHP)。
这些只是其中的一些简单示例。它甚至还没有开始考虑 Oracle、Ruby、Java、Python 以及可能位于不同位置的众多其他选项。您可以在 Linux 上运行 MySql,作为在 Windows 中运行的 Web 应用程序的数据库,或者使用与您的应用程序层(甚至可能是桌面应用程序)完全不同的技术集的 Web 服务层。
重要的是,我们经常谈论您的堆栈是基于 Windows 还是基于 Linux,这很重要,因为软件开发人员倾向于在考虑特定堆栈的情况下构建产品,或者有使用一个堆栈(或堆栈系列)的经验,但没有使用其他堆栈的经验。只要您与他们的堆栈匹配,产品就应该能按预期工作。
答案2
一般来说,这意味着交付产品所使用的技术。因此,在 Stack Exchange(正式名称为 Stack Overflow)的情况下,我们说我们使用 Windows Stack,尽管其中有一些 Linux,因为我们使用 SQL Server、Windows IIS 和 .Net
答案3
任何具有依赖关系的技术都可以被描述为“堆栈”。基本上,堆栈中较高层的协议或技术如果没有其下层的一切就无法工作。
例如:
“云栈”是指基础设施即服务 (IaaS)、平台即服务 (PaaS) 和软件即服务 (SaaS)。它有各种版本,包含更多层,但基本版本如下所示:
软件运行在平台上,平台运行在基础设施上。如果没有基础设施,你就没有任何东西可以运行你的平台或软件。
答案4
如果他们是网络管理员,他们可能指的是 TCP/IP 堆栈。
- 应用程序——即HTTP
- 传输层——即 TCP
- 互联网 - 即 IP
- 数据链路 - 即以太网
- 物理 - 即物理介质/电缆
或 OSI 模型: