如何在 AWS 无服务器架构上运行 PHP?第二部分 - 介绍 Bref 运行时

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

本文介绍如何在 AWS Lambda 上使用 Bref 运行 PHP 应用,并通过 Terraform 部署。Bref 是由 Matthieu Napoli 开发的自定义 Lambda 运行时,支持 Web 应用、异步事件处理和 CLI 命令。几乎所有 PHP 应用都可适配,适用于 Laravel 和 Symfony。文中提供了一个 GitHub 示例,展示如何使用 Terraform 部署 Symfony 应用。

🎯

关键要点

  • 本文介绍如何在 AWS Lambda 上使用 Bref 运行 PHP 应用,并通过 Terraform 部署。

  • Bref 是 Matthieu Napoli 开发的自定义 Lambda 运行时,支持 Web 应用、异步事件处理和 CLI 命令。

  • 几乎所有 PHP 应用都可适配,适用于 Laravel 和 Symfony。

  • Bref 提供三种运行时:用于 Web 应用、异步处理和 CLI 命令。

  • 使用 Bref 运行 PHP 应用时,几乎无需修改现有代码,只需导入 bref/bref composer 包。

  • 适配现有应用相对简单,提供了适用于 Symfony Messenger 的库以使用 SQS。

  • 在极端反应性需求下,框架会增加 230ms 的冷启动时间,但可以通过预置并发来缓解。

  • 使用 Terraform 部署 Bref 支持的 PHP 应用的步骤简单,文中提供了 GitHub 示例。

  • 在 AWS CLI 登录后,只需运行 terraform apply 即可部署应用。

🔎

延伸解读

Bref 的优势与适用场景

Bref 作为自定义 Lambda 运行时,能够支持几乎所有 PHP 应用,特别是 Laravel 和 Symfony 框架。这使得开发者可以在无服务器架构中轻松迁移现有应用,几乎无需修改代码,提升了开发效率。

冷启动时间的影响

使用 Bref 时,需注意冷启动时间可能增加 230ms,这对需要极高响应速度的应用可能构成挑战。可以通过预置并发来缓解这一问题,但这也可能增加成本,开发者需权衡使用。

Terraform 部署的便利性

本文提供了使用 Terraform 部署 Bref 支持的 PHP 应用的简单步骤,适合喜欢基础设施即代码的开发者。通过 GitHub 示例,用户可以快速上手,减少部署过程中的复杂性。

延伸问答

什么是 Bref 运行时,它的主要功能是什么?

Bref 是 Matthieu Napoli 开发的自定义 Lambda 运行时,支持 Web 应用、异步事件处理和 CLI 命令。

如何在 AWS Lambda 上部署 PHP 应用?

可以通过 Terraform 部署 PHP 应用,只需在 AWS CLI 登录后运行 terraform apply。

使用 Bref 运行 PHP 应用时需要做哪些修改?

几乎无需修改现有代码,只需导入 bref/bref composer 包即可。

Bref 支持哪些类型的 PHP 应用?

几乎所有 PHP 应用都可适配,特别适用于 Laravel 和 Symfony 框架。

使用 Bref 时,冷启动时间会影响性能吗?

是的,框架会增加 230ms 的冷启动时间,但可以通过预置并发来缓解。

如何适配 Symfony Messenger 使用 SQS?

Bref 提供了适用于 Symfony Messenger 的库,以使用 SQS 替代其内部总线。

🏷️

标签

➡️

继续阅读