SQS gegen RabbitMQ
Brauche ich zum erstellen einer Warteschlange zur Verarbeitung. Die queue selbst ist mit relativ geringem Volumen. Möglicherweise gibt es über 1.000 Schreibvorgänge, um es pro Stunde. Die Ausführung jeder Aufgabe kann ungefähr eine minute dauern jede und verarbeitet werden, fast so schnell wie das Element der Warteschlange Hinzugefügt.
Gibt es einen Grund, dass ich Sie vielleicht umsetzen wollen, RabbitMQ, statt etwas von der Stange wie Amazon SQS? Was sind einige Gründe, warum ein Programm braucht seine eigene queueing-system sondern so etwas wie SQS?
InformationsquelleAutor der Frage David542 | 2015-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für einen start, Amazon SQS ist ein pseudo-Warteschlange, was bedeutet, dass die Auslieferung jeder Nachricht(wenn es reicht die Warteschlange) ist gewährleistet, aber nicht in einer FIFO-Weise, die geschieht in der Regel in einer Warteschlange.
Wenn die Reihenfolge der Nachrichten ist Ihnen wichtig und Sie möchten, dass die Warteschlange für die Arbeit in einem FIFO-Mode, die Amazon SQS-Dokumentation Mitgliedstaaten auf, Griff diese in Ihrer Anwendung die Logik als die Nachrichten aus der Amazon SQS-erreichen Sie außerhalb der Sequenz.
Im Vergleich zu dieser, soweit ich weiß, können Sie implementieren, Arbeiter Warteschlangen in RabbitMQ. Wenn das befreit Sie von der Durchführung queue message-Sequenzierung auf Anwendungsebene dann wäre dies eine weitere bevorzugte option.
Hier sind ein paar Faktoren, die Ihnen helfen zu entscheiden, welche man für:
Warteschlange (message-sequence-wie oben erwähnt.
Können Sie setup Ihren eigenen server mit RabbitMQ aber nicht im Fall von Amazon SQS, so dass die Kosten wird hier mit einbezogen.
Einrichten eigener server erfordert gute Kenntnisse der Materie, so dass Sie lassen Sie keine Ecke unberührt. Dies ist nicht der Fall mit Amazon SQS wie es ist ziemlich schnell zu bekommen begann mit.
Ihre eigenen RabbitMQ-server bedeutet, dass Kosten für die Wartung auf der ganzen Linie, das ist nicht der Fall mit Amazon SQS.
Updates:
InformationsquelleAutor der Antwort Noman Ur Rehman
SQS wäre meine Präferenz über RabbitMQ, hier ist warum.
Jedoch RabbitMQ könnten, bieten eine schnellere response-Zeiten für puts und gets, in der Regel in 10s von tausenden von TPS von meinen Tests. Für SQS und bieten diese Art von Durchsatz, haben Sie, um scale-up horizontal mit mehreren Instanzen. Also, wenn Sie schauen für unter 5ms stellt , RabbitMQ könnte eine option zu prüfen, weil ich gesehen habe, in der Nähe 20ms-30ms Zeit, aus meiner SQS-Tests bei 1000 TPS, das etwas höher ist als RabbitMQ.
Wir gerade umgezogen unsere messaging-Infrastruktur von ActiveMQ SQS und kann nicht mehr glücklicher. Wir haben festgestellt, dass es günstiger als die Aufrechterhaltung unserer eigenen ActiveMQ-cluster in der cloud.
Hoffe, das hilft! Lassen Sie uns wissen, wie es geht..
InformationsquelleAutor der Antwort ssekhar