琼·蒂森对 J2EE 中基于线程的扩展方法 以及使用 Rails 与 FastCGI 之间的区别 进行了深入的研究。前者需要对象池,引起线程安全问题以及其他各种复杂性,而 FastCGI 方法从应用程序程序人员的角度来看仍然非常简单
这意味着每个进程可以预分配一个单独的数据库连接(针对它通信的每个数据库)。由于每个进程一次只处理一个请求,因此不存在多线程的问题。不需要编写对象来处理多线程,因为每个进程只有一个线程。昂贵的资源不需要在池中分配,应用程序代码也不需要在完成后返回这些资源。不需要使用复杂的非阻塞 IO 解决方案或混合器/解混合器架构。你甚至可以在多个物理节点上分配 FastCGI 进程,从而有效地实施集群。在高度安全的情况下,可以建立一个双防火墙安全架构,以便 Web 服务器受到一个防火墙的保护,后端 FastCGI 服务器受到另一个防火墙的保护。