典型的 Debian LAMP 堆栈中的中间件是什么?

典型的 Debian LAMP 堆栈中的中间件是什么?

我正在研究扩展这一主题,我发现了一种称为中间件的东西,它基本上就是处理请求,对吗?如果这是真的,那么 LAMP 堆栈中的中间件是什么?是 Apache 对吧?我怎么才能检查是什么在处理我的请求?我想了解更多关于 LAMP 堆栈和扩展的信息,并且已经阅读了很多关于 SF 的问题,但我真的不知道该问什么问题,所以如果有人能给我传授大量知识或为我指出正确的资源,那就太好了!

TLDR:我想了解有关 LAMP 堆栈和扩展 LAMP 堆栈的更多信息,但不知道从哪里开始。我完全是个初学者。

编辑:

我还读过这些:

http://people.apache.org/~sctemme/ApconUS2007/scalingout.pdf

http://people.apache.org/~sctemme/ApconEU2006/FR4/FR4_Performance_Up.pdf

答案1

典型的 Debian LAMP 堆栈中的中间件是什么?

没什么。说真的。典型的 LAMP 堆栈就像典型的 Windows 堆栈一样 - 根据部署数量:单台机器。然后将数据库移动到单独的机器,集群前端与负载平衡器一起。没有中间件。

答案2

“中间件”是一个非常通用的术语,通常在不同的语境中描述不同的东西。

我怎样才能检查是什么在处理我的请求?

Apache、PHP 和 mysql 是运行在操作系统(或可能多个操作系统)上的组件堆栈 - 标签省略了文件系统,而文件系统也是堆栈的重要组成部分。不同的请求将在堆栈的不同级别上得到解决。Apache 不会处理 MySQL 查询(但可能会缓存包含其结果的页面)。应用程序日志是开始查找的地方。

我想了解有关 LAMP 堆栈和扩展 LAMP 堆栈的更多信息,但不知道从哪里开始

这实际上是一个很好的起点 - 这是一个很大的主题,即使是那些自认为是专家的人也经常会犯错。我已经使用基于 LAMP 的系统 10 年了,并且仍在学习新东西。这与任何学习过程一样 - 尽可能多地阅读并进行实验。查看其他架构有助于正确看待您感兴趣的架构。

对于 LAMP 堆栈来说,可扩展性主要与存储层有关 - 即 MySQL 复制/联合和文件系统(共享文件系统、网络文件系统、复制文件系统)

答案3

“处理请求”太笼统了,LAMP 堆栈中的每个组件都会处理这样或那样的请求。

也许不清楚你到底在寻找什么,维基百科关于中间件的文章能帮你一点忙吗?

典型的中间件是像 JBoss 这样的应用服务器,WebSphere 应用服务器或 weblogic。另一个例子是消息系统,例如IBM WebSphere MQ 系列

Apache 通常不被视为中间件,但对于 PHP 应用程序来说,它可能符合描述。

LAMP 中的 ysql 是数据库层,通常也不被视为中间件。但如果您需要考虑扩展,那么这也是一个值得研究的重要层。

相关内容