0

在 PHP Web 应用程序中,并发和负载平衡是由服务器还是应用程序本身完成的?

如果我们用纯 PHP(不使用框架)编写应用程序,它将处理并发和负载平衡?

例如:-
网站有 10 件商品要出售,
但 1000 位客户同时尝试购买,
会发生什么

如果我们使用 PHP 框架(cakePHP、Codeignator),是否会向我们的应用程序添加额外的代码?

另一件事是我们不想担心并发性,做错误处理,剩下的交给服务器,或者我们必须考虑应用程序中的并发处理。

4

2 回答 2

2

不,PHP 不会为您做任何负载平衡。并发在这里是一个意图问题。没有为您处理并发这样的事情。这是一个当两个并发请求进来时你想要发生什么的问题。PHP 是建立在每个请求模型之上的。这意味着每个单独的请求都由 PHP 并行处理。所以 PHP 不在乎你有多个并发请求同时进来。它们被分开处理。

负载平衡通常由单独的负载平衡软件(如VarnishPound)处理。并发通常由管理您希望通过特定要求控制的各种数据的外部流和服务器处理,例如您的数据库、像memcachedreddis这样的键/值存储,或像Gearmanzmq这样的作业管理器/队列,或者您的邮件服务器. 这些是 PHP 定期与之通信的所有内容,通常负责涉及用户与基于 Web 的应用程序交互的各种任务。PHP 本身只是一个非常薄的中间人,它允许您编写脚本并控制所有这些交互将如何进行。

于 2012-12-24T08:04:36.347 回答
2

负载平衡通常由服务器框架处理。PHP 本身不会为您做任何负载平衡。如果您的网站不能同时处理 1000 个客户,您的网站将不可用。

于 2012-12-24T07:43:37.690 回答