2016-05-31 11 views
0

Wir richten eine Datenbank mit einem Front-End-Programm ein, das CSV-Dateien analysiert und sie in die Datenbank ablegt. Dateien kommen von vielen Standorten zur gleichen Zeit und müssen beibehalten werden, wenn etwas schief geht.Übertragen von Dateien an einen Nachrichtenbroker

Ist ein Nachrichtenbroker wie rabbitmq eine gute Anwendung dafür? Ich brauche eine Warteschlange, die vom Backend gelesen werden kann.

+1

Siehe [Kann RabbitMQ für Avatare in einem Chat-Server verwendet werden?] (Http://StackOverflow.com/q/22842096), [Senden einer Binärdatei über RabbitMQ] (http://StackOverflow.com/Q/22070639), [Dateien über RabbitMQ senden] (http://stackoverflow.com/q/27175543) Fragen für einige Highlights. – pinepain

Antwort

2

Ist ein Nachrichtenbroker wie rabbitmq eine gute Anwendung dafür?

Ja, aber ich würde Ihnen nicht empfehlen, große Dateien an RabbitMQ zu senden, besonders wenn Sie persistente Nachrichten verwenden möchten. Wenn dies der Fall ist, würde ich eine Datei in einem Speicher (Cloud, Cache, usw.) speichern und ihren Namen/Pfad in einer Nachricht senden. Ein Worker-Prozess würde eine Nachricht empfangen, dann eine Datei herunterladen, analysieren und den Inhalt in der Datenbank speichern. Auf diese Weise können Sie Dateien zwischen Arbeitsprozessen verteilen und die Auslastung des Brokers reduzieren. Es würde Ihnen erlauben, leicht zu skalieren.