SUS03-BP01 Optimieren von Software und Architektur für asynchrone und geplante Aufträge
Verwenden Sie effiziente Software- und Architekturmuster wie warteschlangenbasierte Systeme, um eine durchgängig hohe Auslastung von bereitgestellten Ressourcen zu erzielen.
Typische Anti-Muster:
-
Sie stellen zu viele Ressourcen im Cloud-Workload bereit, um auf unerwartete Nachfragesteigerungen reagieren zu können.
-
In Ihrer Architektur werden Absender und Empfänger von asynchronen Nachrichten nicht durch eine Messaging-Komponente entkoppelt.
Vorteile der Nutzung dieser bewährten Methode:
-
Durch effiziente Software- und Architekturmuster werden ungenutzte Ressourcen in Ihrem Workload minimiert und die allgemeine Effizienz gesteigert.
-
Sie können die Verarbeitung unabhängig vom Empfang asynchroner Nachrichten skalieren.
-
Durch eine Messaging-Komponente gelten weniger strenge Verfügbarkeitsanforderungen, die mit weniger Ressourcen erfüllt werden können.
Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel
Implementierungsleitfaden
Verwenden Sie effiziente Architekturmuster wie eine ereignisgesteuerte Architektur
Analysieren Sie die Anforderungen Ihrer Workload-Komponenten und führen Sie Architekturmuster ein, mit denen die allgemeine Auslastung der Ressourcen gesteigert wird. Nehmen Sie Komponenten außer Betrieb, die nicht mehr benötigt werden.
Implementierungsschritte
-
Analysieren Sie die Nachfrage für Ihren Workload, um zu bestimmen, wie diese erfüllt werden kann.
-
Verwenden Sie für Anfragen oder Aufträge, für die keine synchronen Antworten erforderlich sind, warteschlangenbasierte Architekturen und Worker mit automatischer Skalierung, durch die die Auslastung maximiert wird. Hier finden Sie einige Beispiele für Situationen, in denen Sie eine warteschlangenbasierte Architektur in Erwägung ziehen sollten:
Queuing mechanism Description AWS Batch-Aufträge werden an eine Auftragswarteschlange gesendet, in der sie bleiben, bis ihre Ausführung in einer Datenverarbeitungsumgebung geplant werden kann.
Durch das Koppeln von Amazon SQS und Spot Instances lassen sich fehlertolerante und effiziente Architekturen erstellen.
-
Verwenden Sie für Anfragen oder Aufträge, die jederzeit verarbeitet werden können, Planungsmechanismen zur Auftragsverarbeitung in Batches, um die Effizienz zu steigern. Hier sind einige Beispiele für Planungsmechanismen in AWS:
Scheduling mechanism Description Eine Amazon EventBridge
-Funktion, mit der Sie in großem Umfang geplante Aufgaben erstellen, ausführen und verwalten können. Hiermit definieren Sie einen zeitbasierten Plan für Crawler und Aufträge in AWS Glue.
Geplante Amazon Elastic Container Service (Amazon ECS)-Aufgaben
Amazon ECS unterstützt das Erstellen von geplanten Aufgaben. Bei geplanten Aufgaben werden mit Amazon EventBridge-Regeln Aufgaben nach einem Zeitplan oder als Reaktion auf ein EventBridge-Ereignis ausgeführt.
Konfigurieren Sie Zeitpläne zum Starten und Beenden Ihrer Amazon EC2- und Amazon Relational Database Service-Instances.
-
Wenn Sie Abfrage- und Webhook-Mechanismen in Ihrer Architektur verwenden, ersetzen Sie diese durch Ereignisse. Erstellen Sie mit ereignisgesteuerten Architekturen hocheffiziente Workloads.
-
Nutzen Sie Serverless on AWS
, um eine übermäßige Bereitstellung in einer Infrastruktur zu eliminieren. -
Wählen Sie die richtige Größe für Ihre Architektur, um zu vermeiden, dass ungenutzte Ressourcen auf Eingaben warten.
Ressourcen
Zugehörige Dokumente:
-
Scaling based on Amazon SQS (Skalierung auf Grundlage von Amazon SQS)
-
Using AWS Lambda with Amazon SQS (Verwenden von Lambda mit Amazon SQS)
Zugehörige Videos:
-
Moving to event-driven architectures
(Umstieg auf ereignisgesteuerte Architekturen)