【问题标题】:building socket.io based server structure构建基于 socket.io 的服务器结构
【发布时间】:2013-04-18 12:59:37
【问题描述】:

我正在尝试为我的新项目制作服务器端结构

项目将是 Web 应用程序,应该非常快

我认为使用套接字会比 http 请求更快,并且我不想因大量页面重新加载而降低用户体验。所以我打算使用socket.io 但我想用 PHP 编写应用程序的核心

所以我想出了使用 Nodejs 作为服务器并使用 nodejs 中的 PHP-FPM 来使用 php 的想法 我需要你的建议是坏主意吗?如果是,那为什么?如果不是,我如何使用 nodejs 中的 php-fpm 来实现?

如果您有更好的想法来构建这种结构或任何其他建议,请告诉我

我计划在所有组件中使用最新的软件,包括 php 5.4+,也许 5.5 会稳定发布,直到我完成项目

谢谢

【问题讨论】:

  • 我的建议是画出架构图。显示通信线路在哪里,任何防火墙,任何集群等,以确定您的架构在纸上看起来是否合理。然后尝试对这一切的垂直部分进行原型设计,从客户端脚本端到端到 node.js 等。它不应该花费你太长时间,并且应该指出你设计中的一些“怪癖”。另外,通过“相当快”,你有什么样的 NFR?
  • 谢谢杰夫,我试着画图很遗憾,它没有给我更多信息(我仍然认为它应该可以工作)“相当快”我的意思是应用程序应该像桌面应用程序一样运行(当然有些延迟是可以接受的)
  • 正确定义 NFR 真的很有帮助。目前的定义有点模糊。

标签: node.js socket.io php


【解决方案1】:

我刚刚开始使用Ratchet 作为 PHP websockets 服务器,它非常好,很容易编写代码;并且不会有 nodejs PHP-FPM

的开销

但不知道它会随着大量用户扩展多少。

【讨论】:

  • 我想为大量用户做好准备,我不认为 Ratchet 可以像 PHP-FPM 那样扩展。在 Ratchet 的情况下,我认为我应该想出一些机制来将 php 扩展到多个进程 Ratchet 是否提供像 socket.io 这样的后备?我的意思是如果 websocket 无论如何都不可能使用 flash socket 或 ajax,谢谢你的建议,这很有帮助
  • 您好,到目前为止,我无法使其适用于 nginx+php -fpm+ ratchet,尤其是如何使 ratchet 进程与 php-fpm 进程对话,您能给一些建议吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-30
  • 2023-03-26
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
相关资源
最近更新 更多