Übersicht über asynchrone nachrichtenorientierte Kommunikation

Events (State) und Nachrichten (Command)

In der verteilten Systemarchitektur spielen Events und Nachrichten eine zentrale Rolle. Events repräsentieren Zustandsänderungen oder interessante Ereignisse im System. Sie informieren andere Komponenten darüber, dass etwas passiert ist. Nachrichten hingegen sind Commands, die eine Aktion beim Empfänger auslösen sollen.

One-Way - Fire-and-Forget

Das One-Way-Muster, auch bekannt als Fire-and-Forget, ist ein Kommunikationsansatz, bei dem der Sender eine Nachricht an den Empfänger sendet, ohne eine Antwort zu erwarten. Dies ermöglicht eine asynchrone Kommunikation und entkoppelt Sender und Empfänger zeitlich.

Request - Reply

Das Request-Reply-Muster beinhaltet eine bidirektionale Kommunikation zwischen Sender und Empfänger. Der Sender stellt eine Anfrage und erwartet eine Antwort. Hierbei enthält die Nachricht typischerweise eine Session-Id, um die Kommunikation zu verfolgen, und eine Reply-Queue, über die die Antwort zurückgesendet wird.

Grundtypen von Warteschlangen

Warteschlangen sind essenzielle Komponenten für die asynchrone Nachrichtenvermittlung. Es gibt zwei Haupttypen:

Publish-Subscribe FIFO-Queues (Warteschlange)

In FIFO (First-In-First-Out)-Warteschlangen des Publish-Subscribe-Modells wird jede Nachricht in der Reihenfolge ihres Eintreffens verarbeitet. Dabei wird eine Nachricht nur einem Subscriber zugestellt. Dieses Modell eignet sich für Szenarien, in denen Nachrichten sequenziell und exklusiv verarbeitet werden müssen.

Workers: Mehrere Instanzen können auf eine Queue subscriben, um die Arbeitslast zu verteilen. Diese Worker-Prozesse ermöglichen Lastverteilung und Skalierbarkeit, da mehrere Instanzen subscriben können, um die Arbeitslast zu verteilen.

Publish-Subscribe Topics (Themen) (Warteschlangen)

Im Publish-Subscribe-Modell mit Topics werden Nachrichten nach Themen kategorisiert. Jeder Subscriber erhält die Nachricht, wenn er auf das entsprechende Topic abonniert ist. Dieses Modell eignet sich für die Verteilung von Nachrichten an mehrere Empfänger gleichzeitig, etwa für Benachrichtigungen oder Event-Broadcasting.


Tags

NachrichtenorientierteKommunikationEventsCommandsFireAndForgetRequestReplyWarteschlangenPublishSubscribeFIFOWorkersTopics

AVSW-Overview