Mongrel2 vs. NGINX+ZeroMQ?
Sehe ich diese neue NGINX+ZeroMQ Projekt auf github und bin jetzt verwirrt.
Was sind die feature-und Skalierbarkeit Unterschiede zwischen Mongrel2 und NGINX+ZeroMQ.
(Der Grund warum ich Frage ist, weil ich bin unter dem Eindruck Mongrel2 wurde ausschließlich erstellt, da NGINX nicht unterstützt ZeroMQ)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Las ich auch über den nginx+zeromq-Modul sofort an und ich entdeckte ein erheblicher Unterschied.
ZeroMQ nginx-Modul verwendet REQ/REP-sockets für die Kommunikation mit den back-End-Prozesse. Auf der anderen Seite mongrel2 verwendet zwei buchsen. Eine PUSH - /PULL-Nachrichten senden downstream (der Handler) und eine PUB/SUB (erhalten Antworten vom Handler). Dies macht es Total asynchron. Wenn mongrel2 sendet eine Anforderung an den back-End-Handler gibt es sofort von der zmq_send () - Aufruf und die Antwort empfangen werden, in einen anderen sockel, jederzeit später.
Weiterer Unterschied ist, dass mongrel2 ist in der Lage das senden einer Antwort mehr als ein client. Der handler kann sagen, mongrel2 so etwas wie dieses: "Liefern Sie diese Reaktion, um verbindungen 4, 5, 6 und 10, bitte". Mongrel2 senden Sie die Verbindungs-ID in der Nachricht an den Handler.
Hoffe, das hilft! =)
NGINX+ZeroMQ bugs hat.
1. Es funktioniert nicht mit NGINX 1.5 Grund NGINX vor dem senden zu ZMQ-server(für die, die es ruft die send-Kette) upstream-Haken, der Test, ob die Verbindung gültig ist oder nicht. Und es würde fehlschlagen, weil es ZMQ socket und nicht über TCP-socket als Protokoll anders ist es würde sagen es ist eine ungültige Verbindung.
Gibt es viel mehr wie das.
Diesem Modul nicht unterstützt keepalive. Nicht nur vorgeschaltet, sondern auch downstream nicht funktionieren würde. Ich bin kämpfen, mit keepalive Arbeit im downstream.
Meine Empfehlung: Es würde zwei Mann Monat zu implementieren ZMQ NGINX mit keepalive.