Spring Boot CDN

OnDemand

Top Contributor
Guten Morgen zusammen,

wir haben derzeit einen Server + Spring Boot Service auf welchem wir alle Produktbilder speichern (Mehrere Millionen, liegen auf dem Server im Dateisystem, je Hersteller ein Ordner). Auf diese Bilddateien greifen verschiedene Systeme von X Standorten zu (per URL).

Aktuell gibt es einen Service welcher neue Produktdaten von den Herstellern holt und an den „Media-Service“ eine Info schickt „hier hast du ein neues Bild, speicher das zentral ab und gib mir den Link zum Bild zurück.“ Der Link zum Bild wird dann wiederum in der Wawi zb gespeichert für spätere Verwendung.

Problem ist, dass man über FTP/SFTP kaum in den Ordnern navigieren kann weil es so viele Bilder sein können und das sich einfach tot lädt.. Das wollen wir nun etwas umbauen. Eine Variante wäre, mehr Unterordner zu machen in den Herstellern damit nicht so viele Bilddateien in einem Ordner sind. Andere Möglichkeit wäre die Bilder in einer DB zu speichern, find ich aber irgendwie nicht so cool.

Hat noch jemand eine Idee wie man viele viele Bilder an einer zentralen Stelle speichern könnte Um von verschiedenen System darauf zugreifen zu können?
 
Also ich würde da - so man auf dem Filesystem bleiben will - natürlich mit Ordnern arbeiten. Das ist ja auch eine andere Ebene, d.h. alle Links können gleich bleiben.

Was man z.B. machen kann, ist eine Ordnerstruktur, bei der nach den Anfangszeichen des Dateinamens getrennt wird. Also sowas wie:
<Hersteller>/a/a/a/ - Bilder die mit aaa anfangen
<Hersteller>/a/a/b/ - Bilder die mit aab anfangen
...
Damit hast Du dann schon eine gute Unterteilung. Problematisch kann es nur sein, wenn einzelne Bilder immer gleich anfangen:
Hersteller Audi nennt alle Bilder Audi........

Daher wäre die nächste Idee: Hast Du eine Id? Dann trenn nach der Id. Egal ob fortlaufende Nummer oder UUID oder so. Du hast da eine relativ gute Verteilung.
Aber du hast Da dann manuell keine Suchmöglichkeit mehr. Aber die Zugriffe auf das Dateisystem für Backups, Spiegelungen, ... sind dann wieder schnell möglich.

Du hättest Dann ggf. sowas wie: <Hersteller>/<00-FF>/<00-FF>/...
Die Anteile sind aber vom Ende aus gesehen. Also die Id 0x012345678 wäre in <Hersteller>/78/56/

Das wäre so eine Idee, die mir direkt durch den Kopf gehen würde.
 

Neue Themen


Zurück
Oben