【问题标题】:Should I build my server with Laravel? [closed]我应该用 Laravel 构建我的服务器吗? [关闭]
【发布时间】:2016-04-21 13:15:16
【问题描述】:

我想构建一个服务器来监听自定义端口并通过自定义协议与我的 Web 应用程序通信。服务器将有一个调度员和工作人员来承担并完成一项任务。

Laravel 适合这份工作还是我应该选择更具体的东西?

编辑: 我想澄清一下,它不是 API。基本上一个 php 脚本将在 CLI 模式下循环运行(这意味着这里不涉及 Apache 或 NGINX)。该脚本将打开一个套接字并在某个端口上侦听来自客户端的连接。一旦客户端连接,服务器将启动一些作业并发送答案。它还涉及到一个作业队列,服务器将连接到该队列(可能是一个数据库),获取作业并派生新的进程来完成这些作业。

【问题讨论】:

  • 您为什么不简单地使用标准的“现成”作业排队系统,例如 Gearman 或 RabbitMQ?
  • 因为我们做的demo项目是用Laravel做的,里面有一堆逻辑,所以如果Laravel是一个不错的选择,会为我们节省很多时间。
  • 您的问题缺乏一些说明。不确定是否有人理解您想要完成的工作
  • @Matt Baker:Gearman 看起来是我想要的一个非常好的候选人,我的问题是,如果我自己构建工作排队系统,Laravel 是否也是一个好的候选人。我之所以问,是因为过去我在 PHP 脚本中遇到内存泄漏问题,所以我想知道是否有人使用 Laravel 构建了类似的东西并且没有像我刚才提到的那样的问题。
  • Laravel 不是一个好的候选者,因为你必须完全从头开始编写你的作业队列管理/处理......或者使用所有基于现有目的的内置队列选项- 构建了 Gearman 和 RabbitMQ 等第三方队列管理工具......为什么要花时间在已经存在的东西周围添加一层额外的自制复杂性

标签: php laravel server


【解决方案1】:

编辑:

似乎您根本不​​需要太多框架(可能除了数据库操作部分。因为如果您使用套接字,您将(可能)不会使用框架的大部分功能,如路由、视图模板。 ..) 根据您的数据库的复杂性,我是否会使用框架。如果它非常复杂,像 Eloqent 这样的功能可能会有所帮助...我认为您应该考虑将使用多少框架,以及是否只能通过 Composer 获取所需的东西。

结束编辑

您是否应该使用 Laravel/PHP 来构建服务器 - 用于此目的可能太慢了。

1) 如果您想制作自己的服务器(不是网站或 API),我更愿意使用 Node.js 或类似的东西(ruby、python、C#..)

2) 通过“自定义协议”,我假设您的意思不是与 HTTP/TCP/IP 不同的东西?那么“自定义协议”是什么意思?

【讨论】:

  • 对不起,我应该说得更清楚些,当然是 TCP,但我指的是通信将如何工作(例如 XML、JSON、他们如何打招呼等)
  • 为什么说它慢?由于服务器将循环运行,因此使 PHP 变慢(解释)的过程仅在服务器启动时保留。我错了吗?
  • 如果您的通信可以使用 XML/JSON 之类的东西,那么您可能正在构建一个 API?!那么 PHP / Laravel 可能完全没问题。但是 L 可能是矫枉过正。可能想尝试SlimLumen 之类的东西......你最终要构建什么?我说 PHP 很慢,因为它确实很慢。它通过 Apache/Nginx 服务器运行,最适合服务 HTTP 请求(但不是套接字/websocket/长轮询,这些几乎会杀死你的服务器......)
  • 这不是 API。我在我的第一篇文章中添加了一些说明,希望这能清除我正在尝试做的事情。
  • 正在编辑我的答案...
猜你喜欢
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 2013-07-04
  • 1970-01-01
相关资源
最近更新 更多