Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Reihenfolge und Deduplizierung von Ereignissen auf einem Custom Event Bus
Die Bestellung ist Eigentum eines Abonnenten. Die Deduplizierung erfolgt bei der Veröffentlichung. Die beiden sind an verschiedenen Stellen konfiguriert und lösen unterschiedliche Probleme.
Bestellung
Ein Abonnent Type ist UNORDERED oderFIFO. Ein Abonnent ohne Bestellung liefert Ereignisse parallel aus, um den höchsten Durchsatz zu erzielen. Ein FIFO-Abonnent liefert Ereignisse in der Reihenfolge, in der sie innerhalb einer Eventgruppe veröffentlicht wurden. Sie weisen die Gruppe bei der Veröffentlichung zu, und zwar SystemMetadata.EventGroupId in jedem Eintrag einer der Veröffentlichungs-APIs.
Eine Eventgruppe gehört zu dem Konto, das sie veröffentlicht hat. Zwei Konten, die auf einem gemeinsam genutzten Bus veröffentlichen, EventGroupId bilden zwei separate Gruppen: Ihre Ereignisse sind nicht relativ zueinander angeordnet, und sie teilen sich nicht den Durchsatz einer Gruppe. Die Gruppenlimits finden Sie unterBenutzerdefinierte Event Bus-Kontingente.
Innerhalb eines FIFO-Abonnenten verzögert ein Ereignis, das nicht zugestellt werden kann, die späteren Ereignisse in der eigenen Gruppe, während andere Gruppen weitermachen. Halten Sie Gruppenkennungen begrenzt, z. B. eine Kundennummer oder eine Bestell-ID, und leiten Sie sie nicht aus unbegrenzten Eingaben ab. Ein FIFO-Ziel wie eine Amazon SQS-FIFO-Warteschlange erzwingt seine eigenen Längen- und Zeichenbeschränkungen für die Gruppen-ID.
Deduplizierung zum Zeitpunkt der Veröffentlichung
Die Deduplizierung erfolgt entweder durch Einstellung in der DeduplicationType=CONTENT_BASED Anfrage oder durch Einstellung SystemMetadata.DeduplicationId bei jedem Eintrag.
-
Wird
--deduplication-configuration DeduplicationType=CONTENT_BASEDbei der Anfrage festgelegt. EventBridge hasht den Inhalt jedes Eintrags und unterdrückt einen Eintrag, dessen Hash er bereits akzeptiert hat. -
Lassen Sie
DeduplicationConfigurationSystemMetadata.DeduplicationIdbei jedem Eintrag einen Schlüssel aus, den Sie bereits haben, z. B. einen Idempotenz-Schlüssel von Ihrem Hersteller.
EventBridge unterdrückt ein Duplikat, das innerhalb von 5 Minuten (300 Sekunden) nach der Wiederholung der Eingabe eintrifft. Der Scheck bezieht sich auf Ihr Konto und auf die Veranstaltungsgruppe, wenn der Eintrag Folgendes enthältEventGroupId: Ein Eintrag mit demselben Schlüssel von einem anderen Konto oder einer anderen Gruppe ist ein anderes Ereignis. Ein Eintrag ohne einen EventGroupId wird trotzdem dedupliziert, und zwar für alle nicht gruppierten Einträge Ihres Kontos in diesem Bus.
Zusammen ergibt das exakt eine einmalige Übertragung: Eine doppelte Veröffentlichung innerhalb des Fensters wird im Bus unterdrückt, und ein FIFO-Abonnent übermittelt dann jedes akzeptierte Ereignis einmal, der Reihe nach, innerhalb seiner Gruppe. Außerhalb des Fensters oder von einem anderen Konto oder einer anderen Gruppe aus ist eine wiederholte Veröffentlichung ein neues Ereignis. Sorgen Sie dafür, dass die Verbraucher in diesen Fällen idempotent sind.
So oder so, ein unterdrücktes Duplikat kehrt zurück. SuccessCode: DEDUPLICATED Behandle es als Erfolg. Code, der jeden Erfolg als neues Ereignis gewertet, übertreibt die Auslieferung. EventBridge stellt die inhaltsbasierte Deduplizierung als separaten Vorgang in Rechnung. Ziehen Sie also einen Vorgang vor, DeduplicationId wenn Ihr Produzent bereits über einen Schlüssel verfügt. Preisinformationen finden Sie unter Amazon-Preise. EventBridge