有人可以定义什么是“堆栈”。 我知道它是一个行业术语,但它非常模糊。 我指的是内存分配方面的基础结构术语,而不是“堆栈”。
它指的是构成你的服务的技术:你的Web应用程序语言/框架依赖于(堆积在)你的Web服务器,这个Web服务器与特定的数据库风格对话(堆叠),并且这些服务器运行在操作系统。 所以你可能有这样一个堆栈:
P PHP
M MySQL
阿帕奇
L Linux
组成LAMP堆栈,或者像这样:
C C#
S Sql Server
我 IIS
W Windows
组成一个WISC(Windows)堆栈。 其他常见的“栈”是WIMP(Windows,IIS,MySql,PHP)和WAMP(Windows,Apache,MySQL,PHP)。
而这些只是一些简单的。 它甚至没有考虑到Oracle,Ruby,Java,Python以及其他众多可能在不同位置的选项。 您可以将Linux上运行的MySql作为在Windows中运行的Web应用程序的数据库,或者使用与应用程序层(甚至可能是桌面应用程序)完全不同的技术集的Web服务层。
重要的是,我们经常谈论你的堆栈是基于Windows还是基于Linux的,其重要性的原因是软件开发人员倾向于用特定的堆栈来构build产品,或者具有使用堆栈(或家族)的经验的堆栈),但不是另一个。 只要你匹配他们的堆栈,产品应该按预期工作。
这通常意味着用于交付产品的技术。 因此,在Stack Exchange(正式名称为Stack Overflow)的情况下,我们说我们使用Windows Stack,即使有一些Linux,因为我们使用SQL Server,Windows IIS和.Net
任何具有依赖关系的技术都可以被描述为一个“堆栈”。 基本上,堆栈中更高级的协议或技术在没有下面的任何东西的情况下是无法工作的。
例如:
“云栈”是指基础架构即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。 有更多层的各种版本,但基本的是这样的:
软件运行在平台上,平台运行在基础架构上。 拿出基础设施,你没有任何东西可以运行你的平台或软件。
当涉及到基础设施时,堆栈指的是将ITpipe理服务交付给业务所需的独特技术组合。 WISC(Windows,IIS,SQL Server和C#),WISP(Windows,IIS,SQL Server和Windows Server 2003)是WIMSA(Windows,IIS,SQL Server和ASP)特别提到的基于Web的服务的删除。和PHP),WAMP(Windows,Apache,MySQL,PHP)LAMP(linux,apache,mysql,PHP)。
通常有更多的技术涉及到删除这些types的服务,但是它们并没有被引用到堆栈中,因为这些技术对于所涉及的技术来说基本上是透明的。
如果他们是networkingpipe理员,他们可能是指TCP / IP协议栈。
或OSI模型:
在这里解释