<div dir="ltr">Thanks W-Mark<div><br></div><div>[1] I have been looking at that module and a couple others including <a href="https://github.com/FRiCKLE/ngx_zeromq">https://github.com/FRiCKLE/ngx_zeromq</a></div><div><br></div>
<div>[2] My understanding is that nginx uses a number of worker process that are isolated, but need to see how zeromq handles that and if a socket can me shared.  Given that they aren't thread safe I assume that is a no.  I will pay attention to this part <a href="http://zguide.zeromq.org/page:all#Getting-the-Context-Right">http://zguide.zeromq.org/page:all#Getting-the-Context-Right</a></div>
<div><br></div><div>[3] Saw that, will look where a setup call can happen this is helpful.</div><div><br></div><div>[4]  I have been reading Evan Miller's guide, thanks</div><div><br></div><div>* Planning on using zero-copy</div>
<div>* Not sure if redis would be faster under high load but that would be pretty interesting to see.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 3, 2013 at 5:49 AM, W-Mark Kubacki <span dir="ltr"><<a href="mailto:wmark+nginx@hurrikane.de" target="_blank">wmark+nginx@hurrikane.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2013/11/16 Steve Morin <<a href="mailto:steve@stevemorin.com">steve@stevemorin.com</a>>:<br>
<div><div class="h5">> Does anyone have experience integrating zeromq with Nginx.  I am looking for<br>
> some pointers, to see what concerns I should look out for.<br>
><br>
> I am trying to contribute this code to a open source project.<br>
> -Steve<br>
<br>
</div></div>This seems to me being a good template for what you want to accomplish:<br>
[1] <a href="http://www.binpress.com/app/nginx-redislog-module/998" target="_blank">http://www.binpress.com/app/nginx-redislog-module/998</a><br>
<br>
Keep in mind that »ØMQ sockets are not threadsafe« and don't share<br>
them between threads.<br>
[2] <a href="http://zguide.zeromq.org/page:all#Multithreading-with-MQ" target="_blank">http://zguide.zeromq.org/page:all#Multithreading-with-MQ</a><br>
<br>
See also:<br>
[3] <a href="http://forum.nginx.org/read.php?2,243942,243986#msg-243986" target="_blank">http://forum.nginx.org/read.php?2,243942,243986#msg-243986</a> (master<br>
process → init_module callback; don't define sockets here; zmq_init<br>
goes here)<br>
[4] <a href="http://www.evanmiller.org/nginx-modules-guide.html#definition" target="_blank">http://www.evanmiller.org/nginx-modules-guide.html#definition</a><br>
<br>
A note on performance:<br>
• Use zero-copy wherever possible. (I would make a custom string an<br>
optional last part of a message.) — [5]<br>
<a href="http://zeromq.org/blog:zero-copy" target="_blank">http://zeromq.org/blog:zero-copy</a><br>
• Does ØMQ have UDP or similar for PUB sockets? If so, use that.<br>
• I guess that logging or queuing through Redis will perform better<br>
than utilizing ØMQ for that matter iff everything is done on one<br>
machine under high load.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Mark<br>
</font></span></blockquote></div><br></div>