在本系列的上一篇文章中,我討論了無伺服器服務以及 Lambda 是什麼。現在是時候展示 PHP 腳本甚至完整應用程式如何在 AWS Lambda 上運行了。
在這篇文章中,我將解釋如何使用 Bref 運行時並使用 Symfony 演示應用程式和 Terraform 共享包含範例實現的儲存庫。
獨立顧問兼 AWS 無伺服器英雄 Matthieu Napoli 在 2018 年推出了 Bref,此後,Bref 蓬勃發展,7 月份服務了超過 40,000,000,000 次調用,同比增長 300%。
Bref 是自訂 Lambda 運行時。或者更確切地說是運行時,因為它有三種風格。
幾乎任何類型的 PHP 應用程式都可以使用 Bref 運行。該文件提供了基於 Laravel 和 Symfony 的精彩教程。
調整現有應用程式非常容易(例如,Bref 提供了一個很好的bref/symfony-messenger 庫來調整Symfony Messenger 使用SQS 而不是其內部總線- 提醒:執行環境僅同時處理一個請求並且是短暫的,因此,將資料推送到短暫的內部總線會導致資料遺失)。
實際上,唯一的限制是您是否需要極端的反應性(例如 100% 的請求在 10 毫秒內滿足)。事實上,該框架增加了 230 毫秒的冷啟動。即便如此,正如本系列的上一篇文章所述,使用預先配置並發,您可以緩解這種情況(如果您想在不花費太多費用的情況下做到這一點,應用程式自動縮放是您的首選文檔)。
上述 Symfony/Larevel 文件使用 Serverless 部署框架來部署 Bref 支援的 PHP 應用程式。
其他文章(此處和此處)探討了 CDK 作為其部署選項。
我是 Terraform 的粉絲,所以我很高興在下面分享一個使用 Terraform 作為部署選項的完全工作的存儲庫。
只要8個簡單步驟
在以下 GitHub 儲存庫中,我分享了用於部署此應用程式的全功能設定:
此儲存庫展示如何
CLI를 사용하여 AWS에 로그인한 후 다음을 실행하세요.
terraform apply
data.sql 파일에는 Aurora 데이터베이스를 시드하는 데 필요한 데이터가 포함되어 있습니다. 요새를 사용하여 배포할 수 있습니다.
Lambda 웹 어댑터를 사용하여 Lambda에 PHP 코드를 배포하는 방법에 대한 다음 게시물을 기대해주세요!
위 내용은 AWS ServerLess 아키텍처에서 PHP를 실행하는 방법은 무엇입니까? Bref 런타임을 소개하는 부분의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!