Frage

Gibt es gute Praktiken für Nachrichten oder Anfragen / Antworten Verarbeitung mit großen Datenmengen zu tun (MBytes? GBytes?) Über eine Middleware oder ein EAI-System, assunming dass die Middleware-Transporte, aber nicht verarbeitet das riesigen Daten Blobs?

  • die Daten mit der Nachricht, um die Kohärenz zu halten Transport aber wahrscheinlich mehrmals kopieren riesige Mengen von Daten zwischen Systemen

  • Halten Sie die Daten in einem Speicher oder Daten-Repository (Dateisystem, Datenbank, ...) und einen Verweis auf die Daten transportieren, aber die enge Kopplung zwischen der Nachricht zu verlieren und den Daten

Was ist die gemeinsame Lösung für dieses Problem? Wie wird dies durch EAI oder Middleware-Produkte unterstützt?

War es hilfreich?

Lösung

Nach meiner Erfahrung ist es gut, die Größe der Nachrichten zu begrenzen. In den Umgebungen ich weiß (Websphere MQ, SonicMQ) gefunden i 5-10 MB ein guter Wert für die meisten der Nachrichten. In vielen Fällen wird es nicht nur sehr wenige Nachrichten mit Größen verletzt haben, bis zu 100 MB -> aber es wird Sie über den Speicherverbrauch denken müssen, .... In den meisten Messaging-APIs, insbesondere JMS Sie werden zumindest die Meldung vollständig in der Zeit ein Speicher, der Ihnen einige Kopfschmerzen verursachen kann, wenn eine parallele Verarbeitung zu starten.

Es gibt zwei Dinge, die wir verwenden, wie dieses Problem zu umgehen:

Normalerweise benutzen wir die erste Lösung, wenn die Nachrichten strukturierte Daten enthalten, wird der zweite in Fällen von Medienverteilung verwendet wird.

Für die erste Lösung, die wir verwenden Sie neigen auch dazu, nicht auf spezifische Lösungen bietet, aber diese Logik in unserer eigenen Implementierung implementieren -. Dafür sind wir nicht auf ein bestimmtes Nachrichtensystem gebunden

Andere Tipps

Wenn es praktisch, eine direkte Verbindung zwischen dem Quell- und Zielsystem dann nur einen Verweis durch eine Nachricht zu senden, um die Übertragung zu starten funktioniert aber wie Sie bemerkt man die lose Kopplung verlieren.

Nach dem Buch Enterprise Integration Patterns können Sie die Nachrichtensequenzmuster implementieren.

Nach meiner Erfahrung mit EAI-Systemen wie TIBCO. Es ziemlich viel an Sie, um Abbildung unseres wie beliebig große Datenmengen zu verarbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top