Ich habe versucht, genau herauszufinden, welche Message-orientierte Middleware ist, aber ich konnte keine realen Beispiele aus der Praxis finden, die für mich Sinn ergeben. Kann jemand mir eine klare und leicht verständliche Erklärung geben, was MOM ist, und vielleicht ein paar einfache Beispiele, wie es außerhalb von Unternehmen verwendet wird?
Nachrichtenorientierte Middleware ist eine Art Infrastruktur, die anstelle von Funktionsaufrufen / gemeinsam genutztem Speicher den Nachrichtenaustausch verwendet. Es ist ein Designprinzip und kann daher überall verwendet werden. Es ist wahrscheinlich am nützlichsten in heterogenen / Hochverfügbarkeit / Hochleistungssysteme.
Da ich gerade eine ähnliche Frage beantwortet habe - ich möchte Ihre beantworten, aber mit wenigen zusätzlichen Terminologien, um am Ende zu klären, was MOM praktisch ist. Hier sind einige einfache englische Definition von wenigen Komponenten (wie mehr Sie in MOM graben, diese Begriffe werden immer wieder kommen - und auch die Frage ist markiert rabbitmq
):
RabbitMQ ist eine Open Source Message Broker Software (manchmal auch als Message-orientierte Middleware), die die Advanced Message implementiert Warteschlangenprotokoll (AMQP).
Ich habe Rabbitmq hier erwähnt, um MOM weiter zu verdeutlichen, so wie es um uns herum verwendet wurde.
Message-Oriented-Middleware - ist ein Ansatz, eine Architektur für verteilte Systeme, dh eine mittlere Schicht für das gesamte verteilte System, wo es viele interne Kommunikation gibt, so dass Komponenten Informationen / Daten untereinander teilen müssen Zum Beispiel: Eine Komponente fragt Daten ab und muss sie dann an die andere Komponente senden, die die Daten verarbeitet. Kurz gesagt ist es ein Weg, ein System zu entwerfen, und ja, abhängig von den allgemeinen Anforderungen werden wir ein verteiltes System mit einer gewissen internen Kommunikation entwickeln. Der größte Vorteil der MOM-Architektur / Entscheidung ist die Entkopplung der Komponenten, dh wenn wir die Datenabfrage-Komponente ändern, hat sie keine Auswirkungen auf die Datenverarbeitungskomponenten, da sie über MOM kommunizieren (zB Rabbitmq Cluster) - Die Datenverarbeitungskomponente erhält die Daten in Formnachrichten.
MOM am Ende ist nur eine Design-Entscheidung, dass wir eine Middleware zum Kleben unserer (verteilten) Systemkomponenten verwenden, eine Middleware für die Kommunikation zwischen ihnen in Form von Nachrichten (z. B. JSON).
Eine viel relevante SO Frage und Antwort - Message Broker vs MOM (Nachrichtenorientierte Middleware)
Nachrichtenorientierte Middleware ist ein Framework-System zum Senden und Empfangen von Nachrichten in Computer- und Datennetzen. Middleware Messaging bietet die Basis für Broker, Anwendungsserver und Geschäftsprozessautomatisierung.
Siehe schöne Skizze, die es erklärt Ссылка