15

この新しいNGINX+ZeroMQプロジェクトがgithubに表示され、混乱しています。

Mongrel2とNGINX+ZeroMQの機能とスケーラビリティの違いは何ですか。

(私が尋ねる理由は、NGINXがZeroMQをサポートしていなかったためにMongrel2が単独で作成されたという印象を受けているためです)

4

2 に答える 2

32

nginx + zeromqモジュールについても読んだところ、すぐにかなりの違いに気づきました。

ZeroMQ nginxモジュールは、REQ/REPソケットを使用してバックエンドプロセスと通信します。一方、mongrel2は2つのソケットを使用します。1つのPUSH/PULLは(ハンドラーに)メッセージをダウンストリームに送信し、もう1つは(ハンドラーからの応答を受信するために)PUB/SUBを送信します。これにより、完全に非同期になります。mongrel2がバックエンドハンドラーに要求を送信すると、zmq_send()呼び出しからすぐに戻り、応答は後でいつでも別のソケットで受信されます。

もう1つの違いは、mongrel2が複数のクライアントに同じ応答を送信できることです。ハンドラーはmongrel2に次のように伝えることができます:「この応答を接続4、5、6、および10に配信してください」。Mongrel2は、メッセージ内の接続IDをハンドラーに送信します。

お役に立てれば!=)

于 2012-01-07T19:26:35.180 に答える