Architektur von Asset Compute Service overview

Asset Compute Service basiert auf der Server-losen Adobe I/O Runtime-Plattform. Der Service bietet Unterstützung mit Adobe Sensei-Inhalts-Services für Assets. Der aufrufende Client (es wird nur Experience Manager as a Cloud Service unterstützt) erhält die von Adobe Sensei generierten Informationen, nach denen er für das Asset gesucht hat. Die zurückgegebenen Informationen liegen im JSON-Format vor.

Asset Compute Service kann erweitert werden, indem benutzerdefinierte Programme basierend auf Project Adobe Developer App Builder erstellt werden. Diese benutzerdefinierten Programme sind Headless-Project Adobe Developer App Builder-Apps und führen Aufgaben wie das Hinzufügen benutzerdefinierter Konvertierungs-Tools oder den Aufruf externer APIs durch, um Bildvorgänge auszuführen.

Project Adobe Developer App Builder ist ein Framework zum Erstellen und Bereitstellen von benutzerdefinierten Web-Anwendungen zur Adobe I/O-Laufzeit. Um benutzerdefinierte Programme zu erstellen, können die Entwickler React Spectrum (das Toolkit von Adobe für Benutzeroberflächen) nutzen, Microservices erstellen, benutzerdefinierte Ereignisse erstellen und APIs koordinieren. Siehe Dokumentation zu Adobe Developer App Builder.

Die Architektur basiert auf dem Folgenden:

  • Die Modularität der Programme – sie enthalten nur das, was für eine bestimmte Aufgabe benötigt wird – erlaubt es, die Programme voneinander zu entkoppeln und sie einfach zu halten.

  • Das Server-lose Konzept von Adobe I/O Runtime bietet zahlreiche Vorteile: asynchrone, hochskalierbare, isolierte, vorgangsbasierte Verarbeitung, die sich ideal für die Asset-Verarbeitung eignet.

  • Der binäre Cloud-Speicher bietet die erforderlichen Funktionen zum individuellen Speichern von und Zugreifen auf Asset-Dateien und -Ausgabedarstellungen, ohne dass volle Zugriffsberechtigungen auf den Speicher erforderlich sind, und zwar unter Verwendung von vorab signierten URL-Referenzen. Übertragungsbeschleunigung, CDN-Caching und die gemeinsame Speicherung von Compute-Programme im Cloud-Speicher ermöglichen einen optimalen Zugriff auf Inhalte mit geringer Latenz. Es werden sowohl AWS- als auch Azure-Clouds unterstützt.

Architektur von Asset Compute Service

Abbildung: Architektur von Asset Compute Service und wie der Service mit Experience Manager, Datenspeicherung und Verarbeitungsprogrammen zusammenarbeitet.

Die Architektur besteht aus folgenden Teilen:

  • Eine API- und Orchestrierungsebene empfängt Anforderungen (im JSON-Format), die den Service anweisen, ein Quellelement in mehrere Ausgabedarstellungen umzuwandeln. Die Anfragen sind asynchron und werden mit einer Aktivierungs-ID, also einer Vorgangs-ID, zurückgegeben. Die Anweisungen sind rein deklarativ. Bei allen Standardverarbeitungsvorgängen (z. B. Miniaturansichten, Textdarstellung) geben die Verbraucher nur das gewünschte Ergebnis an, nicht jedoch die Programme, die bestimmte Ausgabedarstellungen bearbeiten. Generische API-Funktionen wie Authentifizierung, Analyse, Ratenbegrenzung werden über das Adobe API Gateway vor dem Service abgewickelt und verwalten alle Anfragen, die an Adobe I/O Runtime gesendet werden. Das Programm-Routing wird dynamisch von der Orchestrierungsebene ausgeführt. Benutzerdefinierte Programme können von Clients für bestimmte Ausgabedarstellungen angegeben werden und benutzerdefinierte Parameter enthalten. Die Programmausführung kann vollständig parallelisiert werden, da es sich um separate Server-lose Funktionen in Adobe I/O Runtime handelt.

  • Programme zur Verarbeitung von Assets, die auf bestimmte Dateiformate oder Zieldarstellungen spezialisiert sind. Ein Programm ähnelt dem Unix-Pipe-Konzept: eine Eingabedatei wird in eine oder mehrere Ausgabedateien umgewandelt.

  • Eine gemeinsame Programmbibliothek verarbeitet allgemeine Aufgaben wie das Herunterladen der Quelldatei, das Hochladen der Ausgabedarstellungen, die Fehlerberichterstellung, das Senden und Überwachen von Ereignissen. Dies wurde so entwickelt, dass die Entwicklung eines Programms so einfach wie möglich bleibt, der Server-losen Idee folgt und auf lokale Dateisysteminteraktionen beschränkt werden kann.

recommendation-more-help
b027be24-3772-44c0-a56d-a4ba23dcb50b