目前,我正在考虑在这 3 种语言之间选择一个需要非常长的正常运行时间的项目(正常运行时间比性能更重要)。
我从事 PHP 开发已有一段时间了,不介意切换到“更好”的语言,例如 Python 或更(可能)更专业的语言,例如 Java,但有一件事阻碍了我:
在 PHP 中,假设一个用户创建了一些格式错误/奇怪的请求,导致我的代码崩溃 - 只有那个用户会受到影响。其他用户可以继续发出请求,因为每个 HTTP 请求都会调用一个新的 PHP 进程。
考虑 Python 或 Java:如果用户使我的后端代码崩溃,则只有一个进程在运行,整个 Web 应用程序都会崩溃,这将是一场灾难。
我的问题是,是否有一个词可以描述这两种不同的 Web 编程方法?另外,我是否遗漏了任何明显的东西,或者 PHP 是否真的比 Python/Java/其他持久进程方法具有如此大的优势,如果是这样,为什么 Python 不采用这种方法?
最佳答案
我正在寻找的是有人给我指出这样一篇文章:
http://www.electricmonk.nl/docs/apache_fastcgi_python/apache_fastcgi_python.html
Python可以通过WSGI在后台持久运行,可以有很多解释器等待一个请求。如果其中一个解释器崩溃,这不是问题,因为其他解释器正在等待,并且因为 Apache 可以自动重启任何崩溃的解释器。
Python 也可以像 PHP 一样在每次请求时手动调用,但速度较慢。
关于PHP 非持久进程设计 vs Python/Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152593/