Spiral 可以与传统的 Nginx/PHP-FPM 配置一起使用,其中 Nginx 充当 Web 服务器,而 PHP-FPM 处理传入的请求并初始化应用程序。但是,这可能是资源密集型的,因为它需要 CPU 和内存资源来处理每个传入的请求。
为了提高 Spiral 应用程序的性能,另一种解决方案是使用应用程序服务器 RoadRunner。
RoadRunner 是一个高性能的应用程序服务器,旨在处理各种请求类型,包括 HTTP、gRPC、TCP、队列作业消费和 Temporal。它通过在启动时仅运行一次工人来实现,然后根据其类型将请求定向到 dispatcher。这意味着每个工人都是隔离的并且独立工作,遵循“无共享”方法,其中资源不会在工人之间共享。
注意 这种运行应用程序的方法类似于其他语言,例如 Java、C# 等。
这使得开发者可以以一种对他们来说熟悉的方式编写代码,并且允许横向扩展工人,从而改进资源利用率并增加处理传入请求的能力。
使用 RoadRunner 可以显着提高速度和效率,因为它消除了应用程序反复进行引导过程的需要。这可以节省 CPU 和内存资源,并减少响应时间。
另一个很棒的事情是,它允许开发者在如何引导应用程序方面更灵活一些。例如,他们可以从各种来源(如属性或文件)加载配置或路由,而无需担心缓存它们。这可以使根据需要修改和更新应用程序变得更容易。
另请参阅 在 框架 — 设计方法 部分中阅读有关框架和应用程序服务器共生的更多信息。在 HTTP — 请求生命周期 部分中阅读有关 PSR-7 请求流程的信息。