Ich habe bereits durch this Link gegangen, (es wurde im Dezember 2014 veröffentlicht), auch bezeichnet this und thisWie funktioniert die Wiederverwendung von AWS Lambda-Containern?
Wie die AWS Lambda Behälter Wiederverwendung arbeitet als im Mai 2016, können Sie alle spezifischen Link teilen Sie bitte die erzählt in Details? Im Folgenden habe ich einige Fragen rund um diese AWS Lambda-Container-Wiederverwendung.
Betrachten wir ein Anwendungsfall:
A Lambda Funktionsname "processMessageLambda" empfängt Anforderung, wenn sie eine Nachricht zu verarbeiten hat, und das Nachricht empfängt es von der API POST REST (von AWS API-Gateway, wie dies Lambda-Funktion verbunden mit).
Jetzt diese 'processMessageLambda' die Nachricht verarbeiten und in der Datenbank speichern.
So logisch tut es Folgendes: Verbindung zur Datenbank, speichern Sie die Nachricht und die Verbindung herunterfahren. (Es funktioniert im Normalfall gut.).
Wenn Anfragen ankommen - 10 pro Sekunde, und jede Lambda-Funktion 30 Sekunden dauert, dann werden tatsächlich viele Datenbankverbindungen geöffnet.
Q1: Dürfen wir in diesem Fall "Verbindungspooling" verwenden (z. B. boneCP)? wie viele Anrufe zu "processMessageLambda" wären wie hundert pro Sekunde oder zehn pro Sekunde?
(siehe: simple example of container reuse - Es funktioniert wie es sagt, aber was viele Anfrage passieren wird ankommen würde sagen - 10 Anfrage pro Sekunde)
Q-2: Wenn sein möglich, die Verbindungs-Pooling zu verwenden, dann wie würde dieser aws lambda container wiederverwendet?
Wenn ein Fall betrachtet:
Läßt die Ansicht, dass durch diese Lambda-Funktion empfangen fordert zehn pro Sekunde in diesem Fall - 10 verschiedene Behälter dieser Lambda-Funktion erzeugt werden würden oder einzelne Behälter der Lambda-Funktion entstünden und das würde mit all diesen 10 Anfragen verwendet werden?
Q-3: Wenn 10 verschiedene Container der Lambda-Funktion erstellt würden, dann würden 10 Datenbankverbindungen verwendet werden, so dass diese 10 Container für weitere Anfragen wiederverwendet würden?
Q-4: Darf ich Ihnen bitte aus Entwicklersicht erklären, wie es tatsächlich funktioniert, dass ein Lambda-Container wiederverwendet wird oder wie ein Entwickler darüber nachdenkt, während der aws Lambda-Container wiederverwendet wird?
Q-5: Wenn die Wiederverwendung von Containern bereits vorhanden ist, Wie muss ein Entwickler den Status von Variablen beibehalten, damit ein Entwickler weiß, welche Variable wiederverwendet wird?
stimmte mit Ihrer Antwort überein. –
Alle guten Ratschläge. Dennoch bin ich gespannt, ob der gleiche Container jemals verwendet wird, um zwei Lambda-Anfragen gleichzeitig zu lösen. –
Zur genau gleichen Zeit: nein. Der Container kann nur wiederverwendet werden, wenn er gerade nicht ausgeführt wird. –