gpt4 book ai didi

php - 长轮询选项 : Nginx, PHP、Node.js

转载 作者:可可西里 更新时间:2023-11-01 12:37:46 25 4
gpt4 key购买 nike

我正在设计一个长轮询应用程序,以非常快速地向(可能是)大量用户广播小的更改。该应用程序将与运行相当标准的 cms 的网站一起运行。它们都将在一台服务器上运行,首先数据库也是如此。

我主要来自 LAMP 环境,我绝对是一名开发人员,而不是系统管理员。也就是说,我不害怕尝试一些新事物。

我花了一天时间研究我的选择,我希望人们能回答一些问题并给我一些建议。

我已经将范围缩小到这些:

    A. Apache and php for the website, Node.js for the app
B. Nginx and php for both the website and app
C. Nginx and php for website, Nginx and Node.js for the app

所以问题:

  1. Nginx 如何处理 PHP 的非多线程 ;)。 PHP 是否会像 Apache 对于长轮询一样成为瓶颈?
  2. 我听说有人建议我在 Apache 和 Node.js 之前使用 nginx 作为反向代理,这是比 nginx 更好的解决方案吗?如果是,为什么?
  3. 您使用过/会推荐哪个选项?

请记住,易于设置可能是一个因素,我对 Apache 相当满意,但我只玩过 Node 而我从未安装过 Nginx。

如果有人需要,我很乐意提供说明。

最佳答案

我会使用选项 C: 并建议选项 D:

选项D:

  • Keepalived 使用 HAProxy 实现负载平衡 (LB)
  • 用于静态和 PHP 脚本的 Nginx,使用 PHP-FPM、APC 和 Redis 进行缓存
  • 用于动态实时内容的 Node.js(和其他 Node 模块)

我们目前使用选项 D 的前两部分,来自 LAMP 背景,并且目前正在实现 Node.js 来为我们的一些(系统征税)实时应用程序提供服务。 HAProxy 正是这样做的:将流量代理到我所有的后端服务器,而不是让 Nginx 来做。为此,我们有许多后端 HTTP/TCP/其他服务器,我们需要冗余和自动故障转移到这些服务器。 LB 易于实现且效果很好。

到目前为止,效果非常好。就个人而言,由于缺乏文档,Nodes 的学习曲线到目前为止一直很困难,但那里有一个非常活跃的社区。

希望这对您有所帮助。

关于php - 长轮询选项 : Nginx, PHP、Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8839295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com