2017-07-15 2 views
0

Ich habe eine große Anzahl von Bildern auf S3 gespeichert, also was ist der beste Ansatz, um unterschiedliche Größe Bild für verschiedene Bildschirmgröße zu dienen.So speichern Sie ein Bildminiaturbild auf AWS s3

Muss ich die Größe ändern on-fly oder behalten Sie die unterschiedliche Größe des gleichen Bildes in s3? Ich suche und finde, dass

Speicher ist billig, compute ist teuer.

Also entscheide ich mich, mehrere Größen des Bildes zu speichern, aber immer noch verwirrt, welcher Ansatz im Falle von starkem Verkehr am besten ist.

Danke.

+0

Bitte nicht [Cross-post] (https://devops.stackexchange.com/q/1544/405). Entweder diese Frage oder die auf DevOps sollte gelöscht werden. –

+0

okay @ Michael-sqlbot Tanks – Adiii

Antwort

1

Wenn mehrere Bildgrößen benötigt werden, ist es kostengünstig und effizient, die verschiedenen Versionen des Bildes in s3 zu skalieren und zu speichern.

Im Allgemeinen sind zwei Größen (& Miniaturansicht) in Anwendungen häufiger.

Um verschiedene Größen eines bestimmten Bildes zu erzeugen, können Sie Lambda mit s3 Ereignissen verwenden und es gibt Beispiel templates bereits verfügbar.

+0

FYI S3 Reduced Redundancy Storage ist jetzt teurer als S3-Standard. Früher war es billiger, aber nicht mehr. Je nach Zugriffsmustern sollten Sie Standard oder Standard - Seltener Zugriff verwenden. – jarmod

+0

@jarmod Danke, dass Sie darauf hingewiesen haben. Ich war überrascht, dass keine Informationen in aws verfügbar sind, warum sie das tun. Später fand den folgenden Artikel https://mysteriouscode.io/blog/aws-s3-storage-classes-pricing-is-not-what-you-think/, wo es heißt, dass AWS reduzierten Speicherredundanz abbrechen wird. Ich habe die Antwort entsprechend modifiziert. – Ashan

1

Ich habe eine ähnliche Situation, um mehrere Bildgrößen bei hohem Datenaufkommen zu bedienen, in dem resultierend ich alle Bildgrößen in S3 nur bei Bedarf speichern. Die Grundlage für die Größenanpassung bei Bedarf ist diese tutorial.

Obwohl die Bilder im S3 gespeichert werden, werden sie tatsächlich von AWS CloudFront geliefert. CloudFront, der die Anfrage stellt, wird, denke ich, wirtschaftliche Vorteile und Verlässlichkeit in Zeiten mit hohem Traffic bieten.

1

Eine Alternative besteht darin, einen Dienst zu verwenden, der bei Bedarf skaliert werden kann. Siehe: