[zeromq-dev] Using ØMQ just as in-memory queue

Anatoly tolitius at gmail.com
Fri Sep 9 23:06:27 CEST 2011


Hey Guys,

    In case a producer is not ØMQ, I am thinking to consume messages from
the socket myself ( using their proprietary protocol on top of TCP/IP ), and
then resend these messages to ØMQ over "inproc://" => in other words, just
use ØMQ as an in memory queue only.

      1. Is that a good idea to do so? To use ØMQ just as an in memory queue
( rather than a Queue data structures in various languages ). The reason we
need a queue on a receiving side is that all the messages need to be
persisted to the disk, and producer's rate (may be, in case of spikes during
the day) a lot higher than a disk persistence rate. Splitting to multiple
consumers/workers is not an option here, as we need all the messages to be
processed sequentially.

      2. In case the answer to the question above is YES... We have several
different message types ( let's call these types 'A' , 'B', 'C' .. 'Z' ). In
case I use subscribers to these different types [ e.g. subscriber.subscribe
( "A" ), subscriber.subscribe ( "B" ), etc.. ], is there a way to ensure
that all the messages will be processed in order? In other words, if
messages were sent as 'A', 'B', 'C', and we have 3 subscribers, is there a
way to guarantee that when a subscriber 'C' gets the message, messages 'A'
and 'B' were already processed? In that case I can rely on ØMQ to play a
role of a queue as well as a router/dispatcher, which would be helpful.

Thank you,
/Anatoly
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110909/bd04f1af/attachment.htm>


More information about the zeromq-dev mailing list