有没有 CGI 的替代品(我真的需要一个)吗?

Han*_*etz 3 cgi ipc

我正在设计一个应用程序,它将包含 3-4 个作为独立进程运行并由合适的 IPC 链接的服务。该系统将有一个网络界面,我想使用那里的任何网络服务器。

应该在某个 URL 下访问 Web 界面,该 URL 允许同一 Web 服务器上的其他 URL 做完全不同的事情。我打算使用该 URL 下方的路径来指定 Web 界面应该做什么。它具有供网络上的其他应用程序使用以及供人类在浏览器中进行交互的设施。

袖手旁观,我的工作如下:

  • 使网络服务器为它收到的每个请求启动一个 CGI 进程(如 Apache 中的 SetHandler)
  • 让 CGI 连接到 IPC
  • 让它从后端服务获得它需要的任何东西
  • 让 CGI 根据服务的回答返回 HTML/XML 和任何 HTTP 状态

现在,我真正想要的是避免前两个步骤,或者如果我不能,避免第二个步骤,因为我担心我会在不必要的开销上浪费性能(来自其他应用程序的请求可能很频繁) )。

例如,PHP 可以打开到 MySQL 数据库的持久连接,该连接在脚本运行时存活下来并且下次不需要重新创建,尽管我不知道他们实际上是如何做到的。此外,据我所知,Apache 模块在服务器启动时加载一次,因此这可能会删除第一步,但会将我与 Apache 联系起来。

那么,将特定 URL 的处理程序挂接到不同网络服务器的好方法是什么?我不想处理 HTTP,否则我可能只是在第二台服务器上使用代理设置,但这似乎是在重新发明轮子。如果您认为 CGI 很好,并且有处理类似结构的大量请求的示例,请告诉我。

Han*_*etz 5

好的,我之前忽略了这一点。在这里解释我的问题让我想到了它:

FastCGI 无需为每个请求创建一个新进程,而是可以使用单个持久进程在其生命周期内处理许多请求。--维基百科:FastCGI