Was ist der Unterschied zwischen einer Nachrichtenwarteschlange und einer Aufgabenwarteschlange? Warum sollte für eine Aufgabenwarteschlange ein Nachrichtenbroker wie RabbitMQ, Redis, Celery oder IronMQ erforderlich sein?


Antwort 1:

Offenlegung, bei der ich arbeite

Iron.io | Cloud Application Services-Anbieter

Meinungen sind meine eigenen.

Nachrichtenwarteschlange

Aufgabenwarteschlange

Redis

, Nachrichtenwarteschlange Open Source,

RabbitMQ

, selbst gehostete Nachrichtenwarteschlange Open Source,

Amazon SQS

, gehostete Nachrichtenwarteschlange

IronMQ

, eine gehostete Nachrichtenwarteschlange

Sellerie

, selbst gehostete Task-Warteschlange Open Source,

Wohlfahrt

, Task-Warteschlange Open Source,

IronWorker

, gehostete Task-Warteschlange UND die Verarbeitung -

Delayed_job

, Task-Warteschlange Open Source,


Antwort 2:
Ist es angebracht zu sagen, dass "Sellerie ein QueueWrapper / QueueFramework ist, der die Komplexität der Verwaltung der internen Aktivitäten von queueManagement / queueAdministration usw. verringert?" Ich verstehe die Buchsprache "Sellerie ist eine Aufgabenwarteschlange" und "RabbitMQ ist ein Nachrichtenbroker". Als erstmaliger Sellerie-Benutzer erscheint es jedoch etwas verwirrend, da wir RabbitMQ immer als "Warteschlange" bezeichnet haben. Bitte helfen Sie mit, zu erklären, wie / was Sellerie im Gegensatz zu rabbitMQ tut

Abu Ashraf Masnun

https: //www.facebook.com/groups / ...

Aufgabenwarteschlange und Nachrichtenwarteschlange. RabbitMQ ist ein "MQ". Es empfängt Nachrichten und liefert Nachrichten. Sellerie ist eine Task Queue. Es empfängt Aufgaben mit den zugehörigen Daten, führt sie aus und liefert die Ergebnisse. Vergessen wir Sellerie für einen Moment. Sprechen wir über RabbitMQ. Was würden wir normalerweise tun? Unsere Django / Flask-App sendet eine Nachricht an eine Warteschlange. Es werden einige Mitarbeiter ausgeführt, die in bestimmten Warteschlangen auf neue Nachrichten warten. Wenn eine neue Nachricht eintrifft, beginnt sie zu arbeiten und verarbeitet die Aufgaben. Sellerie verwaltet diesen gesamten Prozess wunderbar. Wir müssen uns nicht mehr um die Details von AMQP oder RabbitMQ kümmern. Wir können Redis oder sogar eine Datenbank (zum Beispiel MySQL) als Nachrichtenbroker verwenden. Mit Sellerie können wir "Aufgaben" mit unseren Arbeitercodes definieren. Wenn wir etwas im Hintergrund (oder sogar im Vordergrund) tun müssen, können wir diese Aufgabe einfach aufrufen (zur sofortigen Ausführung) oder diese Aufgabe für die verzögerte Verarbeitung planen. Sellerie würde die Nachricht weiterleiten und die Aufgaben ausführen. Es würde Mitarbeiter starten, die wissen, wie Sie Ihre definierten Aufgaben ausführen und die Ergebnisse speichern. So können Sie später das Aufgabenergebnis oder bei Bedarf sogar den Aufgabenfortschritt abfragen. Sie können Sellerie auch als Alternative für Cron-Jobs verwenden (obwohl ich es nicht wirklich mag)!

Juan Francisco Calderon Zumba

https: //www.facebook.com/groups / ...

Mein Verständnis ist, dass Sellerie nur ein sehr hohes Maß an Abstraktion ist, um den Produzenten / Konsumenten von Ereignissen zu implementieren. Es werden einige schmerzhafte Dinge erledigt, die Sie tun müssen, um beispielsweise mit rabbitmq zu arbeiten. Sellerie selbst ist nicht die Warteschlange. Die Ereigniswarteschlangen werden in einem System Ihrer Wahl gespeichert. Sellerie hilft Ihnen dabei, mit solchen Ereignissen zu arbeiten, ohne den Produzenten / Konsumenten von Grund auf neu schreiben zu müssen.
Sellerie ist ein Warteschlangen-Wrapper / Framework, der die Komplexität der Verwaltung der zugrunde liegenden AMQP-Mechanismen / -Architekturen, die mit dem direkten Betrieb von RabbitMQ verbunden sind, verringert

Antwort 3:
Ist es angebracht zu sagen, dass "Sellerie ein QueueWrapper / QueueFramework ist, der die Komplexität der Verwaltung der internen Aktivitäten von queueManagement / queueAdministration usw. verringert?" Ich verstehe die Buchsprache "Sellerie ist eine Aufgabenwarteschlange" und "RabbitMQ ist ein Nachrichtenbroker". Als erstmaliger Sellerie-Benutzer erscheint es jedoch etwas verwirrend, da wir RabbitMQ immer als "Warteschlange" bezeichnet haben. Bitte helfen Sie mit, zu erklären, wie / was Sellerie im Gegensatz zu rabbitMQ tut

Abu Ashraf Masnun

https: //www.facebook.com/groups / ...

Aufgabenwarteschlange und Nachrichtenwarteschlange. RabbitMQ ist ein "MQ". Es empfängt Nachrichten und liefert Nachrichten. Sellerie ist eine Task Queue. Es empfängt Aufgaben mit den zugehörigen Daten, führt sie aus und liefert die Ergebnisse. Vergessen wir Sellerie für einen Moment. Sprechen wir über RabbitMQ. Was würden wir normalerweise tun? Unsere Django / Flask-App sendet eine Nachricht an eine Warteschlange. Es werden einige Mitarbeiter ausgeführt, die in bestimmten Warteschlangen auf neue Nachrichten warten. Wenn eine neue Nachricht eintrifft, beginnt sie zu arbeiten und verarbeitet die Aufgaben. Sellerie verwaltet diesen gesamten Prozess wunderbar. Wir müssen uns nicht mehr um die Details von AMQP oder RabbitMQ kümmern. Wir können Redis oder sogar eine Datenbank (zum Beispiel MySQL) als Nachrichtenbroker verwenden. Mit Sellerie können wir "Aufgaben" mit unseren Arbeitercodes definieren. Wenn wir etwas im Hintergrund (oder sogar im Vordergrund) tun müssen, können wir diese Aufgabe einfach aufrufen (zur sofortigen Ausführung) oder diese Aufgabe für die verzögerte Verarbeitung planen. Sellerie würde die Nachricht weiterleiten und die Aufgaben ausführen. Es würde Mitarbeiter starten, die wissen, wie Sie Ihre definierten Aufgaben ausführen und die Ergebnisse speichern. So können Sie später das Aufgabenergebnis oder bei Bedarf sogar den Aufgabenfortschritt abfragen. Sie können Sellerie auch als Alternative für Cron-Jobs verwenden (obwohl ich es nicht wirklich mag)!

Juan Francisco Calderon Zumba

https: //www.facebook.com/groups / ...

Mein Verständnis ist, dass Sellerie nur ein sehr hohes Maß an Abstraktion ist, um den Produzenten / Konsumenten von Ereignissen zu implementieren. Es werden einige schmerzhafte Dinge erledigt, die Sie tun müssen, um beispielsweise mit rabbitmq zu arbeiten. Sellerie selbst ist nicht die Warteschlange. Die Ereigniswarteschlangen werden in einem System Ihrer Wahl gespeichert. Sellerie hilft Ihnen dabei, mit solchen Ereignissen zu arbeiten, ohne den Produzenten / Konsumenten von Grund auf neu schreiben zu müssen.
Sellerie ist ein Warteschlangen-Wrapper / Framework, der die Komplexität der Verwaltung der zugrunde liegenden AMQP-Mechanismen / -Architekturen, die mit dem direkten Betrieb von RabbitMQ verbunden sind, verringert