Wir experimentieren mit einer neuen serverlosen Lösung, bei der ein externer Provider in DynamoDB schreibt, DynamoDB Stream auf ein neues Schreibereignis reagiert und die AWS-Lambda-Funktion auslöst, die Änderungen auf den Weg bringt?Wie "Real-Time" DynamoDB-Stream ist?
Bis jetzt funktioniert es gut, jedoch stellen wir manchmal fest, dass Daten verzögert werden, z. von Lambda würden für einige Minuten keine Updates kommen.
Nachdem viele DynamoDB Stream-Dokumentation durchlaufen wurde, ist der einzige Begriff, den sie verwenden, "in Echtzeit Stream-Datensatz" aber was ist im Allgemeinen "in der Nähe von Echtzeit"? Was sind die möglichen Verzögerungen, die wir hier sehen?
* keine Updates würden von Lambda kommen * wäre nicht unbedingt das gleiche wie die Daten verzögert werden. Die Lambda-Funktion könnte die Ursache für die Verzögerung sein. Haben Sie auch verifiziert, dass die Funktion zuvor nicht aufgerufen wurde und möglicherweise Fehler verursacht hat und die Daten, die Sie erhalten, das Ergebnis von Lambda-Versuchen sind? –
@ Michael-sqlbot ist nicht Lambda Staatenlos? Wie ich verstanden habe, sollte die neue Ausführung der Lambda-Funktion keine Beziehung zum vorherigen Lambda-Lauf haben. – inside
Das stimmt nicht ganz. Ihr Code sollte auf diese Weise entworfen werden, und jeder Container behandelt nur einen gleichzeitigen Aufruf, aber die Container werden oft wiederverwendet ... so kann Ihre Funktion bei nachfolgenden Aufrufen fehlschlagen oder stehenbleiben, wenn Designfehler von etwas ausgelöst werden, das Sie nicht bereinigt haben . Fehler werden auch nach einer Verzögerung erneut versucht. Lesen Sie Ihre Cloudwatch-Protokolle und sehen Sie, ob Sie möglicherweise problematische Anzeichen für Probleme sehen. –