Heim Backend-Entwicklung PHP-Tutorial Wie führe ich PHP auf einer AWS ServerLess-Architektur aus? Teil Was ist serverlos?

Wie führe ich PHP auf einer AWS ServerLess-Architektur aus? Teil Was ist serverlos?

Oct 07, 2024 pm 10:09 PM

Lambda, der Flaggschiff-Serverlosdienst von AWS, ermöglicht die Ausführung von Code auf verschiedenen Laufzeiten. Allerdings ist PHP nicht explizit in der offiziellen Produktbeschreibung enthalten. Bedeutet das, dass Sie auf Lambdas keinen PHP-Code ausführen können? Nein, tut es nicht!

In dieser Serie (abgeleitet aus einem Vortrag, den ich vor der AWS User Group Poitiers gehalten habe) besprechen wir, was serverlos ist und wie man PHP (falls das Ihre Lieblingssprache ist) auf Lambda zum Laufen bringt.

Was ist serverlos?

Serverlos ist ein Hosting-Paradigma, bei dem der Cloud-Anbieter die der Arbeitslast des Kunden zugewiesenen Ressourcen dynamisch skaliert und dabei nicht nur die physische Infrastruktur (Server, Stromkühlung), sondern auch die Ausführungslaufzeit (Patching usw.) verwaltet.

How to run PHP on AWS ServerLess architecture ? Part  What

Im engeren Sinne wird jeder Anfrage Rechenleistung zugeteilt, was zu einem „Skalierungs-zu-Null“-Preismodell führt (es werden keine Ressourcen stundenweise bezahlt, sondern nur proportional zur tatsächlichen Nachfrage) und gleichzeitig eine integrierte hohe Leistung bereitgestellt -Verfügbarkeit.

Dazu kommen weitere Cloud-Vorteile hinzu, vor allem die Tatsache, dass alles über eine API verfügt, was eine Automatisierung ermöglicht.

Die Summe dieser Vorteile ermöglicht praktisch kostenlose kurzlebige Funktionszweigumgebungen, wodurch die Entwicklerproduktivität und die Vorlaufzeit gesteigert werden.

How to run PHP on AWS ServerLess architecture ? Part  What

Bei Serverless geht es nicht nur um Rechenleistung!

Es gibt viele Lösungen im serverlosen Ökosystem. Als Serverless Compute (Lambda) im Jahr 2014 auf den Markt kam, gab es Managed Queues (SQS) bereits seit einem Jahrzehnt und S3 bereits seit acht Jahren.

How to run PHP on AWS ServerLess architecture ? Part  What

Beachten Sie, dass Aurora in der Folie oben nicht unserer strikten Definition von Serverless entspricht, da es nicht auf Null skaliert wird (v1 wurde auf Null skaliert, aber dann könnte es Minuten dauern, bis es startet, bei v2 müssen Sie es haben). Mindestens 0,5 ACUs auf Ihren Writer- und Reader-Instanzen, damit die Datenbank bereit ist, Abfragen zu bedienen.

Im Folgenden finden Sie eine typische Architektur zum Hosten einer Webanwendung, die nur serverlose Dienste umfasst. Das Hosten einer solchen Anwendung könnte für eine begrenzte Anzahl von Benutzern weniger als 1 US-Dollar pro Jahr kosten.

How to run PHP on AWS ServerLess architecture ? Part  What

Ist Serverless nur für Microservices geeignet?

Ja.. und nein. Es wurde mit Blick auf Microservices entwickelt, aber Sie können trotzdem eine monolithische Architektur bereitstellen (solange Sie nicht jedes Mal, wenn eine neue Umgebung gestartet wird, eine langwierige Startsequenz haben).

How to run PHP on AWS ServerLess architecture ? Part  What

Serverlose Optionen zur Lösung häufiger Herausforderungen mit Microservices: Orchestrierung und Choreografie

Microservices-Architekturen ermöglichen es, die Kopplung zwischen Anwendungskomponenten zu reduzieren (Verwendung verschiedener Sprachen, durch asynchrone Muster, Verbesserung der Skalierbarkeit durch Beseitigung der Kopplung auf Infrastrukturebene).

Wenn wir jedoch über mehrere Einzelzweckfunktionen verfügen, erfordert die Implementierung der Geschäftslogik möglicherweise eine Koordination zwischen den Funktionen. Diese Koordination kann mithilfe von zwei grundlegenden Mustern umgesetzt werden.

  • Orchestrierung: In diesem Muster steuern wir Aufrufe der Funktion auf zwingende Weise. Dies wird häufig innerhalb einer Geschäftsdomäne verwendet, wenn Funktionen von einem einzelnen Serviceteam bereitgestellt werden. Ein serverloser Ansatz hierfür ist AWS StepFunction, eine Workflow-/Zustandsmaschine. Hier gibt es ein schönes Tutorial zum Koordinieren von Lambda-Funktionen mithilfe von StepFunction.
  • Choreografie: Dieses Muster ist in geschäftsdomänenübergreifenden Szenarien mit separaten Serviceteams relevanter, um eine sehr begrenzte Kopplung aufrechtzuerhalten. Ein Ereignisbus ermöglicht es einer Anwendung, Ereignisse zu übertragen und Ereignisse zu abonnieren. Mehrere Verbraucher können dasselbe Ereignis abonnieren und jeder Verbraucher kann die Ereignisse filtern, die er benötigt. Der zentrale AWS-Service hierfür ist EventBridge. Einen Blog-Beitrag, den ich darüber geschrieben habe, finden Sie hier.

Lambda kennenlernen

Lambda ist die Function-as-a-Service-Lösung von AWS. Mit Lambda können Sie Ihren Code bereitstellen und erhalten sofortige Hochverfügbarkeit und Skalierbarkeit, ohne sich um die Bereitstellung von Instanzen und Betriebssystem- oder Laufzeit-Patches kümmern zu müssen.

Lambda kann mit synchronen Aufrufen (über ein API-Gateway, einen Application Load Balancer oder eine Lambda-Funktions-URL) oder asynchronen Aufrufen (als Reaktion auf von AWS generierte oder benutzergenerierte Ereignisse) verwendet werden.

Lambda를 배포할 때 실행하는 데 필요한 메모리 양을 선택했습니다. 할당된 CPU는 비례합니다. 그런 다음 사용한 밀리초 수를 기준으로 비용을 지불합니다. 예를 들어 128Mb Lambda 비용은 1.7*10^-9$/ms입니다. 첫 번째 비용을 지출하기 전에 164시간 동안 컴퓨팅을 수행해야 합니다.

How to run PHP on AWS ServerLess architecture ? Part  What

그리고 Lambda는 확장됩니다. 빠른. 다른 것보다 훨씬 빠릅니다. 높은 트래픽 변화로 인해 더 이상 429(또는 워크로드가 잘 보호되지 않는 경우 500) 오류가 발생하지 않습니다.

How to run PHP on AWS ServerLess architecture ? Part  What

LambdaLiths를 통한 주요 과제 해결: 콜드 스타트

Lambda 실행 환경은 주어진 시간에 하나의 요청만 처리하며 후속 요청에 재사용됩니다. 즉, Lambda 함수를 확장하거나 Lambda 함수가 한동안 호출되지 않은 경우 Lambda는 새로운 실행 환경을 시작해야 합니다. 이것이 바로 콜드 스타트입니다.

콜드 스타트가 애플리케이션에 해로운 경우(다시 말하지만 모든 트래픽이 느리거나 429초에 도달하는 것이 더 나을 것임) 몇 가지 옵션이 있습니다. AWS에는 Lambda 워머 사용 또는 이를 해결하기 위한 프로비저닝된 동시성 설정에 대한 유용한 기사가 있습니다. 그 외에도 Java 사용자의 경우 Lambda SnapStart 기능을 사용하면 JVM 초기화 후 microVM의 스냅샷을 생성하여 우수한 콜드 스타트 ​​성능을 제공할 수 있습니다.

PHP 지원은 어떻습니까?

공식 제품 FAQ에는 "기본적으로 Java, Go, PowerShell, Node.js, C#, Python 및 Ruby 코드를 지원하며 추가 프로그래밍 언어를 사용하여 함수를 작성할 수 있는 런타임 API를 제공합니다"라고 나와 있습니다.

이 시리즈의 다음 블로그 게시물에서는 Bref와 Lambda 웹 어댑터라는 두 가지 프레임워크를 활용하여 Lambda에서 PHP를 실행하는 방법을 설명하고 각 프레임워크가 제공하는 가능성을 비교하겠습니다.

Das obige ist der detaillierte Inhalt vonWie führe ich PHP auf einer AWS ServerLess-Architektur aus? Teil Was ist serverlos?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

See all articles