Ausgabe
Ich habe ein Frontend mit AngularJS gebaut, das mit einem Backend in Java spricht.
Ich habe den gesamten Code ausgeführt, der Bilder von S3 in meine App hoch- und herunterlädt.
Ich kann auch in S3 auf Videos zugreifen und sie mit der videojs-Bibliothek anzeigen.
In Bezug auf die Leistung habe ich ein wenig über Amazon Cloudfront gelesen. Ich habe den ETag-Cache bereits in meinem Code implementiert und er funktioniert gut.
Was ist jedoch mein nächster Schritt, um diese Cloudfront zu integrieren? Alle Tutorials, die ich mir angesehen habe, zeigen nur statische Dateien. Muss ich zusätzliche Codeänderungen vornehmen oder ist es nur eine Frage der Konfiguration auf meinem AWS-Stack? Einer der wichtigsten Punkte, die ich erreichen und lernen möchte, ist, wie man die Videos streamt, anstatt sie vollständig in den Client herunterzuladen.
Lösung
CloudFront ist ein Content Delivery Network (CDN) . Sie erstellen eine Verteilung und teilen ihr mit, welcher S3-Bucket die Dateien enthält, die Sie bereitstellen möchten. Wenn Sie einen Domänennamen haben, können Sie dann einen CNAME cdn.yourdomain.com hinzufügen und ihn der von CloudFront angebotenen Domäne zuordnen.
Benutzer, die c dn.yourdomain.com/yourfile besuchen, erhalten effektiv die zwischengespeicherten Versionen, anstatt sie von S3 herunterzuladen.
Sie können auch eine RMTP-Distribution für das Streaming erstellen, die es Benutzern ermöglicht, das Video abzuspielen, während es heruntergeladen wird, und es verwendet das Adobe Flash Media RMTP-Protokoll, aber seien Sie vorsichtig: Wie hier berichtet , stellt CloudFront die Unterstützung für RTMP-Distributionen am 31. Dezember ein. 2020.
Beantwortet von – Marco Tedone
Antwort geprüft von – Mildred Charles (FixError Admin)